Android - странный макет отображения в пользовательских DialogPreference - PullRequest
0 голосов
/ 30 марта 2012

У меня есть пользовательская 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" 
    />

В отображаемом диалоговом окне отсутствуют оба TextViews:

enter image description here

По какой причине TextViews не отображаются?

1 Ответ

0 голосов
/ 30 марта 2012

Одной из причин такого поведения является настройка тем изготовителем.Другие причины могут заключаться в том, что выбранный текст имеет тот же цвет, что и фон.Чтобы избежать этого, вы можете просто установить color для вашего 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 имеет текст для отображения на экране

...