Style a Button sieht wie ein EditText aus (verhält sich aber trotzdem wie ein Button)

7

Mir ist klar, dass das eine seltsame Sache ist, aber ich habe einen Button, der wie ein EditText aussehen muss, aber sich trotzdem wie ein Button verhält. Mein Layout-XML sieht momentan so aus:

%Vor%

Dadurch entsteht der Eindruck eines EditText, aber auch das Verhalten wird etwas durchkreuzt, indem verhindert wird, dass das onClick-Ereignis ausgelöst wird, es sei denn, die Schaltfläche hat den Fokus (wodurch effektiv zwei Klicks erforderlich sind). Gibt es eine Möglichkeit, den Stil beizubehalten, ohne das Verhalten der Schaltfläche zu ändern?

Ich dachte darüber nach, einen Hintergrund mit neun Patches zu erstellen, der wie ein EditText aussieht, aber bei so vielen verschiedenen Android-Versionen und Skins würde ich lieber den System-Stil verwenden, wenn es möglich ist.

    
chefgon 28.11.2011, 22:25
quelle

3 Antworten

28

Wie wäre es mit einem EditText, der sich wie eine Schaltfläche verhält?

%Vor%

Sie können dafür auch einen OnClickListener definieren. Und es wird keinen Fokus bekommen.

    
Zsombor Erdődy-Nagy 28.11.2011, 22:39
quelle
1

Wenn es unbedingt eine Schaltfläche sein muss, können Sie Ihrer Schaltfläche einen Fokus-Listener hinzufügen, der den Onclick auslöst, wenn die Schaltfläche den Fokus erhält.

%Vor%

Der Nachteil ist, dass der Klick ausgelöst wird, wenn die Taste den Fokus über einen Trackball oder ein D-Pad erhält. Machen Sie es in der Layout-Datei unfokussierbar:

%Vor%     
Krylez 28.11.2011 22:55
quelle
0

Die akzeptierte Antwort lässt Sie EditText als eine Schaltfläche formatieren, aber ich fand eine Diskrepanz darin; wenn Sie lange darauf drücken, können Sie Text einfügen, der in Bezug auf UX schrecklich ist.

Dies habe ich stattdessen angewendet, um es als EditText zu stylen.

%Vor%     
Pinaki Acharya 05.07.2016 07:57
quelle