Android - 自定义DialogPreference中的奇怪布局显示

时间:2012-03-30 12:35:53

标签: java android layout preference

我有一个定义了自己的布局的自定义DialogPreference。布局文件如下:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"

android:paddingTop="5dp"
android:paddingLeft="10dp"
android:paddingRight="10dp" >

<TextView
    android:id="@+id/textView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/enter_password_label"
    android:textAppearance="?android:attr/textAppearanceLarge" />

<EditText
    android:id="@+id/editText1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:inputType="textPassword">

    <requestFocus />
</EditText>

<TextView
    android:id="@+id/textView2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/confirm_password_label"
    android:textAppearance="?android:attr/textAppearanceMedium" 
    />

<EditText
    android:id="@+id/editText2"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:inputType="textPassword" 
    />

在显示的对话框中,缺少两个TextView:

enter image description here

TextViews无法显示的原因是什么?

1 个答案:

答案 0 :(得分:0)

此行为的原因之一是制造商对主题的自定义。其他原因可能是所选文本外观与背景颜色相同。为避免这种情况,您可以简单地将颜色设置为TextView,例如:

<TextView
    android:id="@+id/textView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/enter_password_label"
    android:textAppearance="?android:attr/textAppearanceLarge"

    android:textColor="#000000" />

* 还要确保android:text确实有要在屏幕上显示的文字