2014-02-10 15 views
6

Wie die Frage sagt: Beim Testen der App auf Geräten mit Android 4.3+ (auch auf 4.4 getestet), die Farbe der Hinweise (für EditText) wird weiß und egal welche Farbe ich eingestellt habe, es bleibt weiß. Da der EditText-Hintergrund weiß ist, sind die Hinweise für das bloße Auge nicht sichtbar!Android 4.3+, android: textColorHint funktioniert nicht, Hinweisfarbe ist immer weiß

Ich habe gegoogelt und gegoogelt und kann niemanden finden, der das gleiche Problem hat. Die App wurde unter Verwendung von android:minSdkVersion="8" und android:targetSdkVersion="15" erstellt. Die EditText sieht wie folgt aus:

<EditText 
      android:id="@+id/editText3" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:layout_weight="1" 
      android:background="@drawable/my_background" 
      android:ems="10" 
      android:textColorHint="@color/BlueViolet" 
      android:hint="@string/my_hint" 
      android:inputType="number" 
      android:tag="21_0" /> 

Zunächst wurde mit dem Standard-android:textColorHint und ich dachte, dass vielleicht Android 4.3+ den Standard auf weiß aus irgendeinem Grund geändert. Aber das scheint nicht der Fall zu sein, denn egal welche Farbe ich habe, es ist immer weiß.

Ich bin mir bewusst, dass fill_parent veraltet ist, aber die App wurde vor einiger Zeit erstellt, ist aber jetzt aufgrund von Hinweisen nicht mehr nutzbar. Jede Hilfe wird geschätzt! Vielen Dank!

EDIT: Der "Fehler" scheint bei der Verwendung einer String-Ressource für einen Hinweis auftreten. Dies funktioniert: android:hint="Hello world" während dies nicht android:hint="@string/my_hint" tut

Antwort

1

Es scheint, seit Android 4.3 und höher ist es nicht mehr möglich, String-Ressourcen zu machen, wie folgt (nicht sicher, ob es überhaupt zwar auf diese Weise funktioniert gemeint war):

<string name="my_hint"><font size="13" fgcolor="#ffbbbbbb">Hello world</font></string> 

Wenn Sie das tun, werden sie weiß. So sind Sie mit dem Erstellen der String-Ressource auf diese Weise fest:

<string name="my_hint">Hello world</string> 

und verwenden Sie dann die Eigenschaften auf der Textview/EditText die Farbe des Hinweises zu bearbeiten. Um die Größe zu ändern, wie es scheint es immer noch möglich ist, zu tun:

<string name="my_hint"><small><small>Hello world</small></small></string> 

ich das herausfand, durch den Kommentar dieser Antwort zu lesen: https://stackoverflow.com/a/11577658/2422321, von Edward Falk

9

Denn wer kämpft mit dem gleichen Problem;

Wenn Sie Ihr EditText in

verwendet
android.support.design.widget.TextInputLayout 

sollten Sie setzen

android:textColorHint="@color/BlueViolet" 

in TextInputLayout

<android.support.design.widget.TextInputLayout 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:layout_weight="1" 
       android:textColorHint="@android:color/white"> 

       <AutoCompleteTextView 
        android:id="@id/etextEmail" 
        android:layout_width="match_parent" 
        android:layout_height="wrap_content" 
        android:hint="@string/prompt_card" 
        android:inputType="textEmailAddress" 
        android:maxLines="1" 
        android:singleLine="true" 
        android:textColor="@android:color/white"/> 

      </android.support.design.widget.TextInputLayout> 
Verwandte Themen