Android verschiedene EditText Hintergründe für verschiedene Zustände mit Formen, Selektoren oder Listen

8

Ich starte eine neue App, in der ich ActionBarSherlock & amp; HoloEverywhereLib. Mein Min & amp; Ziel-SDK sind gleich (10 / 2.3.3). Dies ist nur so, ich kann es auch schnell auf Amazon Kindle & amp; BB10 mit der Android-Laufzeit, die sie haben (bereits verwendet dieses Setup für eine andere App und es funktionierte ohne Problem). Die ganze Zeit sollte die App so nah wie möglich an ICS / JB aussehen.

Für meine EditTexts gebe ich ihnen jedoch ein Girgerbread / iOS (runde Ecken, aber keine Schatten).

Jemand hat mir vor ein paar Wochen gesagt, dass ich die Zeichen für Gingerbread holen und sie zu meinen EditTexten verwenden soll. aber ich benutze eine andere Antwort hier bei S / O, sehr einfach:

%Vor%

& amp; Meine editierte Text_round_white.xml:

%Vor%

Wenn ich jetzt die App starte, sind zwei Dinge nicht richtig

a) Es gibt überhaupt keinen "Fokus" (ich bin mir bewusst, dass ich dies umsetzen muss, das ist der Punkt der Frage)

b) Der Cursor erscheint überhaupt nicht in meinem Bearbeitungstext (die graue vertikale Linie zeigt an, wo im Editiertext die Eingabe liegt)

Für a) Ich nehme an, ich muss einen Selektor oder eine Liste verwenden, oder? Wie? Ich bin neu im Styling in Android und jede Hilfe wäre willkommen. Das einzige, was ich ändern werde, ist die Strichfarbe.

Für b) Wie kann ich den Cursor anzeigen lassen?

Irgendwelche Hinweise / Links / etc hier sind sehr willkommen!

    
David Homes 26.01.2013, 23:14
quelle

3 Antworten

22

Ich empfehle, NinePatch-Bilder zu verwenden, um Ihren EditText anzupassen. Hier ein Beispiel basierend auf meinem Code:

Der Selektor:

%Vor%

Verwenden Sie Selector auf dieselbe Weise wie in Ihrem Code, und stellen Sie ihn auf den Hintergrund Ihres EditText ein.

Bilder:

 twitter_im_edittetext_focused.png

 twitter_im_edittext_normal.png

Weitere Informationen zu NinePatch-Bildern finden Sie hier .

Ich hoffe, es hilft.

    
alex bandol 27.01.2013, 01:18
quelle
5

Kurze Version der akzeptierten Antwort

%Vor%     
Karioki 05.03.2015 11:03
quelle
0

Ich denke, das Problem liegt darin, dass sich Ihr Cursor oberhalb der linken Grenze / Grenze des editText-Felds befindet und aufgrund der Überlappung nicht sichtbar ist.

Was ich getan habe, war, etwas Padding für den Text hinzuzufügen und das bewegte den Cursor und den Text mehr "nach innen" und es wurde dann sichtbar.

Fügen Sie dies Ihrem editText hinzu:

%Vor%     
dadoz 18.11.2013 13:37
quelle