Buttons verdecken?

  • Antworten:3
Marco S.
  • Forum-Beiträge: 105

20.09.2010, 21:06:11 via Website

Hi,

ich hab einen View mit ner Handvoll Buttons.

Nun will ich (ähnlich wie bei einem Dialog, aber den kann man nicht so gut stylen) eine transparente Glasscheibe drüberlegen, also mit android:backgroundcolor="#88000000". Diese Glasscheibe (ein RelativeLayout) ist auch FILL_PARENT in Breite und Höhe, und dennoch kommen die Klicks durch, also die verdeckten Buttons lassen sich immer noch klicken.

Auch ein android:clickable="false" hats nicht gebacht.

Hat jemand noch eine Idee???

Danke & Gruß,
Marco

Antworten
Markus Gu
  • Forum-Beiträge: 2.644

20.09.2010, 22:32:35 via App

enabled =false vielleicht

swordiApps Blog - Website

Antworten
Marco S.
  • Forum-Beiträge: 105

21.09.2010, 10:31:28 via Website

es ist einfach zu krass.

wenn ich einen dialog öffne, so blockiert der alles.

ich selber bekomms echt nicht hin.

hab schon im viewhierachy geschaut was denn der dialog für stati setzt, aber nicht das richtige gefunden.

die clicks kommen immer durch, auch das relative layout folgende eigenschaften hat:

.setEnabled(false);
.setPressed(false);
.setClickable(false);
.setFocusable(false);
.setSaveEnabled(false);
.setSelected(false);

Gruß
Marco

Antworten
Mac Systems
  • Forum-Beiträge: 1.727

21.09.2010, 13:24:37 via Website

Ohne genauer in der Materie drin zu sein, gibt es nicht eine Möglichkeit ähnlich wie in Swing einen Event zu Consumieren ? Damit ist der praktisch nutzelos.
In Swing muss ich dafür einen Methode überschreiben und fest feststellen ob die Komponenten unter dem Klick diesen auch erhalten sollen.

Da würde in etwa so aussehen:

Toolkit.getDefaultToolkit().addAWTEventListener(new AWTEventListener(){
public void eventDispatched(AWTEvent e)
{
if(e.getSource() != cbx)
{
if(cbx.isSelected() && e.getID() == MouseEvent.MOUSE_PRESSED) ((MouseEvent)e).consume();
}
}
}, AWTEvent.MOUSE_EVENT_MASK);
}


cbx ist dabei die Komponente von Interesse. Ein kurzer Blick in die API Doc zeigt mir da für einen View folgendes:


http://developer.android.com/guide/topics/ui/ui-events.html#EventHandlers

Du könntest mal zum Spaß die Methoden überschreiben und einfach nichts ihn ihnen machen, und schauen ob du das gewünschte Ergebnis bekommst !



hth,
Mac

Windmate HD, See you @ IO 14 , Worked on Wundercar, Glass V3, LG G Watch, Moto 360, Android TV

Antworten