AlertDialog中顶部分隔符的ID

时间:2014-10-10 06:10:13

标签: android android-alertdialog

我使用以下代码来设置AlertDialogs主题。

Resources resources = dialog.getContext().getResources();
int color = resources.getColor(R.color.green_theme); // your color here

int alertTitleId = resources.getIdentifier("alertTitle", "id", "android");
TextView alertTitle = (TextView) dialog.getWindow().getDecorView().findViewById(alertTitleId);
alertTitle.setTextColor(color); // change title text color

int titleDividerId = resources.getIdentifier("titleDivider", "id", "android");
View titleDivider = dialog.getWindow().getDecorView().findViewById(titleDividerId);
titleDivider.setBackgroundColor(color); // change divider color

它的效果很好,除了我有一个带有消息但没有标题的AlertDialog的情况。似乎只有第三个视图显示在这种情况下,它也需要设置颜色。我只是不知道这个视图的ID是什么。有谁知道吗?

我正在谈论的视图在下图中的白色矩形中突出显示。

AlertDialog

3 个答案:

答案 0 :(得分:3)

我想没有人真正读过我的问题。

无论如何,如果其他人有他的问题,这就是答案:

int titleDividerTopId = resources.getIdentifier("titleDividerTop", "id", "android");
View titleDividerTop = dialog.getWindow().getDecorView().findViewById(titleDividerTopId);
titleDividerTop.setBackgroundColor(color);

答案 1 :(得分:0)

dialog.getWindow().requestFeature(Window.FEATURE_NO_TITLE);

那应该摆脱标题。

答案 2 :(得分:0)

在清单文件的application标记中,只需将整个应用程序的主题更改为透明,如下所示:

您的对话框中不会显示您的蓝线。

  <application
    android:allowBackup="true"
    android:icon="@drawable/icon"
    android:label="@string/app_name"
    android:theme="@android:style/Theme.Translucent.NoTitleBar" >