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 🙂

InformationsquelleAutor Splact | 2012-01-04