如何设置对话框按钮白色图像?

时间:2013-09-24 10:42:35

标签: android layout dialog

这是我的对话代码

     AlertDialog.Builder builderofme = new AlertDialog.Builder(this);

        final FrameLayout frameView = new FrameLayout(this);
        builderofme.setView(frameView);

       builderofme.setCancelable(true);



        builderofme.setPositiveButton(" Yes ", new OkOnClickListener());
        builderofme.setNegativeButton(" No ", new CancelOnClickListener());
        final AlertDialog alertDialog = builderofme.create();
        LayoutInflater inflater = alertDialog.getLayoutInflater();
        View dialoglayout = inflater.inflate(R.layout.myediteddialog, frameView);
        alertDialog.show();

The Code正在使用Perfectly.But我想使用白色背景为Yes和No button.Presently它会像这样来......

enter image description here

这是我的myediteddialog.xml文件

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="150dp"
android:orientation="vertical"
android:background="@drawable/delete"
 >

<TextView
    android:id="@+id/editeddialogboxtextview"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textColor="@android:color/background_dark"
    android:layout_centerHorizontal="true"
    android:layout_centerVertical="true"
    android:text="Do You Want To Delete?"
    android:textAppearance="?android:attr/textAppearanceMedium" />

</RelativeLayout>

6 个答案:

答案 0 :(得分:1)

根据您的要求,您必须设计自定义对话框布局,此布局包含一个textview和2个按钮,这些按钮看起来像默认警报对话框。并根据您的要求为两个按钮和设计按钮编写听众。

答案 1 :(得分:0)

目前您正在使用默认主题,因为您没有获得Dark holo theme的背景颜色我建议如果您想要在所有设备上使用一致的主题,那么您应该在xml文件本身中声明按钮然后相应地使用它。根据我的经验,这将是最好和最正确的方法。

答案 2 :(得分:0)

您可以看到下一个example

创建自定义布局

如果您想在对话框中使用自定义布局,请通过调用AlertDialog.Builder对象上的setView()创建布局并将其添加到AlertDialog。

默认情况下,自定义布局填充对话框窗口,但您仍然可以使用AlertDialog.Builder方法添加按钮和标题。

答案 3 :(得分:0)

此处您可以在myediteddialog.xml

的布局文件中声明两个按钮
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="150dp"
android:orientation="vertical"
android:background="@drawable/delete"
 >

<TextView
    android:id="@+id/editeddialogboxtextview"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textColor="@android:color/background_dark"
    android:layout_centerHorizontal="true"
    android:layout_centerVertical="true"
    android:text="Do You Want To Delete?"
    android:textAppearance="?android:attr/textAppearanceMedium" />


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

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

</RelativeLayout>

答案 4 :(得分:0)

我已经用我的方式使用少量xml并且没有改变任何其他内容。我们应该与那些寻求解决方案的人分享。

首先,我为我的按钮

创建了一个自定义选择器drawable xml文件

这里是

  <selector xmlns:android="http://schemas.android.com/apk/res/android" >
 <item android:state_pressed="true" >
     <shape android:shape="rectangle"  >
         <corners android:radius="3dip" />
         <stroke android:width="1dip" android:color="#83776b" />
         <gradient  android:angle="-90"  android:startColor="#5f4427" android:endColor="#cbb59d"  />           
     </shape>
 </item>
<item android:state_focused="true">
     <shape android:shape="rectangle"  >
         <corners android:radius="3dip" />
         <stroke android:width="1dip" android:color="#83776b" />
         <solid  android:color="#92806c"/>      
     </shape>
 </item> 
<item >
    <shape android:shape="rectangle"  >
         <corners android:radius="3dip" />
         <stroke android:width="1dip" android:color="#83776b" />
         <gradient  android:angle="-90"  android:startColor="#cbb59d"    android:endColor="#92806c" />           
     </shape>
   </item>
</selector>

然后在我的活动中,我已经包含了这两行

 Button b = alertDialog.getButton(DialogInterface.BUTTON_NEGATIVE);
        if(b != null)
                   b.setBackgroundDrawable(getResources().getDrawable(R.drawable.dialogbutton));

 Button c = alertDialog.getButton(DialogInterface.BUTTON_POSITIVE);
        if(c != null)
                   b.setBackgroundDrawable(getResources().getDrawable(R.drawable.dialogbutton));

对我有用的简单解决方案。

答案 5 :(得分:0)

使用自定义对话框,这是最好的例子

custom dialog