有没有办法在AlertDialog中更改标题下划线的颜色? 我已经通过自定义样式定义更改了标题颜色(见下文),但我没有找到下划线的任何xml属性。
<style name="CustomTitle" parent="@android:style/TextAppearance.Holo">
<item name="android:textColor">@color/green</item>
</style>
我正在运行Android 4.
编辑:这就是我创建AlertDialog的方式
Builder ad = new AlertDialog.Builder(new ContextThemeWrapper(this,
R.style.DialogPrivate));
ad.setTitle("Custom Dialog");
ad.setMessage("blaaaaa");
ad.setPositiveButton("test", null);
ad.setNegativeButton("test2", null);
ad.show();
目前的情况如何Screenshot
答案 0 :(得分:2)
下划线实际上是一个View对象,其背景颜色设置为默认的全蓝色(至少在jellybean上)。
您可以在https://github.com/android/platform_frameworks_base/blob/master/core/res/res/layout/alert_dialog_holo.xml#L58查看警告对话框的布局。具体来说,titleDivider视图:
<View android:id="@+id/titleDivider"
android:layout_width="match_parent"
android:layout_height="2dip"
android:visibility="gone"
android:background="@android:color/holo_blue_light" />
多数民众赞成不幸,因为这意味着如果没有一些丑陋的hacky代码,就无法自定义视图的颜色,例如:
void changeUnderlineColor(AlertDialog d, int color) {
final ViewGroup v = (ViewGroup) d.getWindow().findViewById(android.R.id.content);
v.findViewById(getResources().getIdentifier("titleDivider", "id", "android")).setBackgroundColor(color);
}
这适用于使用holo_light主题的Jellybean,但这几乎肯定是一个坏主意。如果你真的想改变线条的颜色,看起来你需要自己构建一个完全自定义的Dialog
答案 1 :(得分:1)
这个响应有点迟了,但我认为“下划线”实际上是用作背景的9补丁图像文件的一部分。您需要更改该背景图像以更改颜色。
答案 2 :(得分:-1)
尝试使用android:textColorLink =“#783302”