Für ein neues Android-Projekt brauche ich Buttons, die beim Fokussieren oder Drücken "leuchten", dh ein größeres Bild sollte über dem ersten Bild erscheinen. Mein Problem hier ist: Der anklickbare Bereich sollte nicht so groß wie dieses Overlay-Bild sein.Android: Erstellen Sie eine Bildschaltfläche mit einem nicht anklickbaren OverLarge-Overlay, wenn Sie fokussiert sind?
In ASCII-Art:
+------------------------------------------+
| |
| |
| +---------------------+ |
| | Inner image, always | |
| | visible & clickable | |
| +---------------------+ |
| Overlay (image with alpha on top) |
| visible on focus or press, NOT clickable |
+------------------------------------------+
Also im Grunde kann es auch andere Elemente sein, unter dem Overlay-Bild, das noch vollständig zugänglich sein sollte, beispielsweise indem Sie auf & ziehen klicken.
Wissen Sie, wie ich das in Android lösen kann? Eine XML-Layout-Lösung wäre die beste! Irgendwelche Best Practices hier?
@mreichelt: Sie könnten auch mit einem Blick mehr wie folgt aussehen: http://blog.tomgibara.com/post/2149115454/dynamic-android-texture – CommonsWare
Also anstelle eines 'ImageButton' habe ich ein' ImageView 'weil ich ein benutzerdefiniertes Bild als anklickbaren Bereich verwende. Wenn diese ImageView angeklickt wird, sollte oben eine Blende erscheinen, die größer als das erste Bild ist. Wie Sie sagten, könnte ich eine StateListDrawable als Hintergrund verwenden, aber das erscheint natürlich im Hintergrund. Es sollte die Eingabeereignisse nicht erhalten, auch wenn es oben ist, da es weder anklickbar noch fokussierbar ist. Ich könnte einen Workaround mit 2 ImageViews machen (das Flare oben), aber das würde die View-Hierarchie vergrößern. Eine benutzerdefinierte Ansicht ist auch nicht so wünschenswert für diesen IMHO gemeinsamen Anwendungsfall ... – mreichelt