0

我有一个对话框,但有些如何有一个未知的背景图像。我怎样才能删除该图像。请指导我。

在此处输入图像描述

4

2 回答 2

2

您必须扩展对话框类,为您的对话框构建 xml 文件,例如

<?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <TextView
        android:id="@+id/textView1"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="Do you Want to bookmark?" 
        android:gravity="center"/>

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" >

        <Button
            android:id="@+id/button_no"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="No" />

        <Button
            android:id="@+id/button_yes"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Yes" />

    </LinearLayout>

</LinearLayout>

当然你可以做一些定制

对于您的自定义对话框类,您可以这样做

public class CustomizeDialog extends Dialog implements OnClickListener {
 Button okButton;

 public CustomizeDialog(Context context) {
  super(context);

  /** 'Window.FEATURE_NO_TITLE' - Used to hide the title */
  requestWindowFeature(Window.FEATURE_NO_TITLE);


  setContentView(R.layout.main);
  yesButton = (Button) findViewById(R.id.button_yes);
  yesButton.setOnClickListener(this);

  noButton = (Button) findViewById(R.id.button_no);
  noButton.setOnClickListener(this);

 }

 @Override
 public void onClick(View v) {
        switch(v.getId()){

        case R.id.button_yes: 
             dismiss();
             //doSomething
             break;
            case R.id.button_no:
            dismiss();
            //doSomethingElse
            break;

 }

}

希望这将帮助您必须发布代码以弄清楚为什么这些背景框会出现在您面前,但是像我提到的那样行事应该可以为您解决问题

于 2012-05-08T09:22:57.107 回答
1

这可能是因为您使用标准AlertDialog并设置了内容视图 + 无标题(尽管您没有设置标题,但它的空间将保留在对话框中)。

而是扩展Dialog类并根据需要构建对话框。此外,如果您想使用自己的背景,Dialog则实现一个扩展Theme.Dialog和覆盖的主题:

<item name="android:windowBackground">@android:drawable/panel_background</item>

用你自己的drawable。

于 2012-05-08T08:58:00.510 回答