Einstellung Android-Schaltfläche unsichtbar, aber immer noch mit einem OnClick Listener angeschlossen

8

Also setze ich gerade ein Osterei in meine App und ich möchte, dass Button unsichtbar bleibt, aber wenn Sie darauf klicken (Rick roll). Bis jetzt kann ich es schaffen, wenn ich sage:

%Vor%

und dann mein onClickListener . Das einzige Problem dabei ist, dass ich Text auf dem Button haben muss, damit er anklickbar ist. Wenn ich den Text herausnehme und ihn komplett unsichtbar mache, wird der onClickListener aus irgendeinem Grund nie aufgerufen?

Hier ist mein OnClickListener

%Vor%     
cj1098 27.07.2011, 21:46
quelle

10 Antworten

14

Setzen Sie in Ihrem Layout eine bestimmte Breite wie% code_%

Wenn Ihre Breite auf android:layout_width="40dp" mit einem transparenten Hintergrund und ohne Text eingestellt ist, misst Android diese Ansicht mit einer Breite von 0dp. Sie können nie darauf klicken.

    
Steve Prentice 27.07.2011, 22:05
quelle
5

Versuchen Sie, den Text in der Schaltfläche "" ...

zu erstellen %Vor%     
Adam Storm 27.07.2011 21:50
quelle
4

Sie können jede Ansicht, z. B. LinearLayout, als anklickbar erstellen. Erstellen Sie ein LinearLayout mit den gleichen Dimensionen wie die Schaltfläche, und legen Sie es aufClick listener fest, auf das, was das Ereignis behandelt. Da es von Natur aus nicht sichtbar ist, sollte es den gleichen Effekt haben.

    
DeeV 27.07.2011 22:02
quelle
3

Stellen Sie sicher, dass die Breite und Höhe der Schaltfläche nicht auf wrap_content eingestellt sind, da dies dazu führen würde, dass die Schaltfläche extrem klein ist, wenn der Text "" ist. Wenn das nicht funktioniert, können Sie auch onClick () mit onTouch () ersetzen:

%Vor%     
A. Abiri 27.07.2011 22:01
quelle
3

Einfache Antwort ist Alpha wie folgt auf 0 gesetzt.

%Vor%

Es wird unsichtbar sein und onclick wird funktionieren.

    
Mark Henry 04.03.2015 10:06
quelle
1

Verwenden Sie keine Schaltfläche und überschreiben Sie das dispatchTouchEvent Ihrer Aktivität und behandeln Sie es auf diese Weise.

    
Austin Hanson 27.07.2011 22:01
quelle
1

Sie können OnClickListener zu jedem View hinzufügen. Versuchen Sie also, ein ImageView mit einem transparenten Bild zu erstellen, und hängen Sie Ihren Listener daran an.

    
Leo Accend 27.07.2011 22:03
quelle
1
%Vor%

zu diesem Code-Button ist unsichtbar, aber es hat funktioniert;))

    
pencilvania 16.07.2012 20:42
quelle
0

Sie können die Schaltfläche auch deaktivieren (sie kann nicht angeklickt werden).

In Java-Code:

%Vor%

In .xml-Layout:

%Vor%     
vovahost 10.12.2014 18:12
quelle
-1

Das funktioniert für mich richtig:

  • btn.setClickable(false) auf GONE Sichtbarkeit.
  • btn.setClickable(true) auf VISIBLE Sichtbarkeit.
amit bansode 05.04.2017 09:23
quelle