在Android中自定义"警报"对话框

Gre*_*orn 4 android android-alertdialog

我想在警告对话框的浅色背景上显示深色文本.但我无法弄清楚如何做到这一点.请帮我.

谢谢.

chi*_*dev 6

看到这个例子,它会对你有所帮助:http://www.helloandroid.com/tutorials/how-display-custom-dialog-your-android-application


如在此示例中为在警告对话框的文件中定义的布局.您可以设置警报对话框的样式.

  • 这是一个自定义对话框.我们不能修改警报对话框本身吗? (2认同)

McS*_*tch 6

您可以在XML视图中创建自己的布局,就像对活动一样:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:id="@+id/layout_root"
              android:orientation="horizontal"
              android:layout_width="fill_parent"
              android:layout_height="fill_parent"
              android:padding="10dp"
              >
    <ImageView android:id="@+id/image"
               android:layout_width="wrap_content"
               android:layout_height="fill_parent"
               android:layout_marginRight="10dp"
               />
    <TextView android:id="@+id/text"
              android:layout_width="wrap_content"
              android:layout_height="fill_parent"
              android:textColor="#FFF"
              />
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

然后,您可以通过调用对话框在对话框中使用此视图setContentView(View):

Context mContext = getApplicationContext();
Dialog dialog = new Dialog(mContext);

dialog.setContentView(R.layout.custom_dialog);
dialog.setTitle("Custom Dialog");

TextView text = (TextView) dialog.findViewById(R.id.text);
text.setText("Hello, this is a custom dialog!");
ImageView image = (ImageView) dialog.findViewById(R.id.image);
image.setImageResource(R.drawable.android);
Run Code Online (Sandbox Code Playgroud)

如示例所示,您必须在声明内容视图后设置一些值.

示例来自http://developer.android.com/guide/topics/ui/dialogs.html#CustomDialog