Comment définir effet d'entraînement sur un LinearLayout par programmation?
Je veux définir l'arrière-plan android.R.attr.selectableItemBackground
à un LinearLayout
. Lors de l'utilisation de XML, il n'y a pas de problèmes (il fonctionne)
<LinearLayout
android:id="@+id/llMiner"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="?android:attr/selectableItemBackground"
android:clickable="true" >
... mais je dois le faire dans le code java, j'ai donc essayé ce
llMiner.setClickable(true);
llMiner.setBackgroundResource(android.R.attr.selectableItemBackground);
... et ça ne fonctionne pas, enfait je reçois un NotFoundException
sur cette deuxième ligne.
Donc après j'ai essayé cette variante de penser que la ressource est une Couleur.
llMiner.setClickable(true);
llMiner.setBackgroundColor(android.R.attr.selectableItemBackground);
Celui-ci ne se lance pas d'exception, mais... ne fonctionne pas (il n'y a aucun changement de fond lors de l'appui, mais le changement d'état pressé comme il ont à faire)... une suggestion?
- êtes-vous de changer la couleur dans le onClick méthode de votre activité..???
- Non, je n'ai pas....
- Alors je pense que vous devez remplacer onClick méthode pour obtenir votre fonctionnalité fait.
- Je suis en train de faire la même chose et sans succès jusqu'à présent. Si vous avez trouvé une solution s'il vous plaît laissez-moi savoir, ou si quelqu'un sait si cela peut être fait, donner de la rétroaction. Thx!
- Pour ceux qui recherchent le soutien lib sa contrepartie, il est
android.support.design.R.attr.selectableItemBackground
. - Mon commentaire précédent n'a pas l'air de fonctionner maintenant (ou peut-être qu'il ne l'a jamais fait). Ce qui fonctionne est
R.attr.selectableItemBackground
. - Veuillez choisir ma réponse si vous ne me dérange pas 🙂
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser de cette façon.
R.attr.selectableItemBackground
utilisera le AppCompat de l'attribut (si vous y compris) et retombe à l'ouverture/fermeture en fondu à la place de l'ondulation de pré Sucette, par défaut. Notez queR
est votrepackagename.R
.