110 votes

Faire en sorte qu'une mise en page linéaire se comporte comme un bouton

J'ai un LinearLayout que j'ai créé pour ressembler button, et il contient quelques éléments texte/ImageView. Je voudrais que l'ensemble LinearLayout agisse comme un %-% button, en particulier pour lui donner des états qui sont définis dans un afin qu'il ait un arrière-plan différent lorsqu'il est pressé.

Existe-t-il un meilleur moyen que de faire un ImageButton de la taille de l'ensemble de la mise en page et du positionnement absolument ?

163voto

Rockmaninoff Points 1250

Je viens de rencontrer ce problème. Vous devrez définir la mise en page linéaire sur cliquable. Vous pouvez soit le faire dans le XML avec

android:clickable="true"

Ou en code avec

yourLinearLayout.setClickable(true);

À la tienne !

16voto

Roman Points 165

J'ai utilisé la première et la deuxième réponse. Mais ma disposition linéaire a des images et du texte avec une couleur d'arrière-plan, donc j'ai dû changer "arrière-plan" en "premier plan" disposition

linéaire

android:foreground="?android:attr/selectableItemBackground"
android:clickable="true"

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X