如何更改DialogFragment标题背景颜色和底线颜色
问题描述:
我想自定义一些DialogFragment的样式。如何更改DialogFragment标题背景颜色和底线颜色
我已经改变了标题的颜色搭配:
TextView title = (TextView)getDialog().findViewById(android.R.id.title);
title.setTextColor(getResources().getColor(R.color.base_app_color));
现在我需要做的是改变头和底线颜色的背景色为好。
有谁知道哪些是android.R.id。???或者我可以如何归档它?
答
实际上,你可以找到分隔已创建对话框后:
AlertDialog dialog = builder.show();
// Set title divider color
int titleDividerId = getResources().getIdentifier("titleDivider", "id", "android");
View titleDivider = dialog.findViewById(titleDividerId);
if (titleDivider != null)
titleDivider.setBackgroundColor(getResources().getColor(android.R.color.holo_purple));
自定义标题的背景是稍微复杂...你需要在你的主题中定义一个alertDialogStyle
定义你如何绘制对话框的每个区域。例如:
<style name="Theme.Yours" parent="@android:style/Theme.Holo">
...
<item name="android:alertDialogStyle">@style/AlertDialog_Yours</item>
</style>
<style name="AlertDialog_Yours">
<item name="android:fullDark">...</item>
<item name="android:topDark">...</item>
<item name="android:centerDark">...</item>
<item name="android:bottomDark">...</item>
<item name="android:fullBright">...</item>
<item name="android:topBright">...</item>
<item name="android:centerBright">...</item>
<item name="android:bottomBright">...</item>
<item name="android:bottomMedium">...</item>
<item name="android:centerMedium">...</item>
</style>
这些领域可以是颜色或图形内容,并了解它们是什么,我重定向你a blog post I wrote on the subject(第五部分),解释你怎么能主题的一切。
+0
谢谢。这就是我在寻找@Dadou – Proverbio 2014-09-04 22:13:23
也许你可以使用这个主题? – Gumbo 2014-08-27 23:44:44
你可能是对的,但我不知道哪些是这些项目的名称,是吗?另外,我可以使用不同的布局,但如果可以改变这些颜色,我很感兴趣。谢谢你@Gumbo – Proverbio 2014-08-27 23:49:33
我(也许)找到了分隔符的ID:'android.R.id.titleDivider'让我知道它是否有效。 – Gumbo 2014-08-27 23:54:16