我想知道如何在对话中去掉(或改变颜色)TitleDivider。这是显示在Honeycomb+设备上的对话框标题下方的一条蓝线。
我想这是来自sdk的相关布局,但是由于没有样式属性,我不知道如何设置它的样式。如果我尝试使用findviewbyid,就没有android.r.id.titledivider

<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="@android:dimen/alert_dialog_title_height"
        android:paddingLeft="16dip"
        android:paddingRight="16dip"
        android:gravity="center_vertical|left" />
    <View android:id="@+id/titleDivider"
            android:layout_width="match_parent"
            android:layout_height="2dip"
            android:background="@android:color/holo_blue_light" />
    <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>

我试图重写dialogtitledecorlayout,它只引用了theme.xml中的dialog_title_holo.xml,但没有成功。错误是:
错误:错误:找不到与给定名称匹配的资源:attr
“DialogTitleDecorLayout”。

最佳答案

谢谢大家,但我得到了一个解决方案,让大家参考AlertDialog的TitleDivider,使用下面的代码来改变它的颜色。希望这能帮助一些人。

int divierId = dialog.getContext().getResources()
                .getIdentifier("android:id/titleDivider", null, null);
View divider = dialog.findViewById(divierId);
divider.setBackgroundColor(getResources().getColor(R.color.creamcolor));

10-07 23:02