编辑:我原来的答案弄错了。
不幸的是,用于对话框的样式是内部的,不能以与其他一些易于操作的全息元素相同的方式使用。我已经创建了一个开源项目,用于在非常简单的情况下处理此问题(我希望将其扩展并使其更加合法)。这是一个新答案的链接,该答案更深入地解决了这个问题:如何更改 AlertDialog 标题的颜色及其下方线条的颜色
对于后代,这是我天真的旧答案:
看看这里发布的答案。对于您的特定目标,您将希望覆盖dialogTitleDecorLayout
样式(我认为!)而不是listSeparatorTextViewStyle
样式。
如果你好奇这个最初是在哪里设置的,你可以在你电脑上的 android sdk 文件夹中的themes.xml 文件中翻找并搜索dialogTitleDecorLayout
属性。这应该会引导您进入一个dialog_title_holo
布局文件,该文件也应该在您的计算机上。您应该在布局中找到以下代码:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:fitsSystemWindows="true">
<TextView android:id="@android:id/title" style="?android:attr/windowTitleStyle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:minHeight="60dip"
android:paddingLeft="32dip"
android:paddingRight="32dip"
android:gravity="center_vertical|left" />
<ImageView android:id="@+id/titleDivider"
android:layout_width="match_parent"
android:layout_height="4dip"
android:scaleType="fitXY"
android:gravity="fill_horizontal"
android:paddingLeft="16dip"
android:paddingRight="16dip"
android:src="@android:drawable/divider_strong_holo" />
<FrameLayout
android:layout_width="match_parent" android:layout_height="wrap_content"
android:layout_weight="1"
android:orientation="vertical"
android:foreground="?android:attr/windowContentOverlay">
<FrameLayout android:id="@android:id/content"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</FrameLayout>
</LinearLayout>
注意的代码是@android:drawable/divider_strong_holo
参考。此文件也存在于您的计算机上,它应该是蓝色的 9patch。您将需要创建一个类似的不同颜色的 9patch。祝你好运!即使这不是完全正确的属性,我认为您也看到了您可能需要在这里做的事情......