Je pense que ce qui suit peut aider. Je voulais que l'un des boutons d'une liste de boutons soit coloré différemment, pour souligner le fait que vous étiez déjà dans cette section.
Mes boutons Android: champ d'arrière-plan a été mis à la drawable suivante (drawable/my_btn.xml)
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true" android:drawable="@drawable/btn_pressed" />
<item android:state_focused="true" android:drawable="@drawable/btn_focused" />
<item android:state_selected="true" android:drawable="@drawable/btn_selected" />
<item android:drawable="@color/transparent" />
</selector>
Vous remarqué que j'ai un élément avec l'androïde: state_selected = "true" ensemble.
Ensuite, dans le code, vous pouvez avoir
Button mybtn = (Button)findViewById(R.id.my_btn_1);
mybtn.setOnClickListener(new OnClickListener(){
public void onClick(View v) {
Button btn = (Button)findViewById(R.id.nav_secondary_1);
btn.setSelected(true);
}
});
Je ne sais pas si vous pouvez régler la stat sélectionnée d'un bouton dans une propriété dans le fichier XML. Pas sûr que tu veuilles le faire.
L'ordre des articles est également important car il peut changer la visibilité des autres états. L'ordre actuel vous permettra de voir les états pressés et focalisés. Cependant, si vous avez déplacé l'élément sélectionné vers le haut, vous constaterez que vos états de compression et de mise au point ne seront pas affichés. Je ne suis pas sûr si vous pouvez combiner les états pressé, concentré et sélectionné pour permettre des graphiques plus personnalisés. Je ne l'ai pas essayé, mais ce qui suit permettrait des mises en page graphiques basées sur l'état plus compliquées.
<item android:state_selected="true" android:state_focused="true" android:drawable="@drawable/btn_selected_focused" />
Lisez sur le sujet Selectors ici http://developer.android.com/guide/topics/resources/drawable-resource.html
Merci pour une réponse rapide, David! Mais cela signifie-t-il que la seule façon de "mettre en évidence" le bouton sélectionné est de le faire par programmation? – Rilakkuma
Je veux dire, si j'ai un menu à la partie inférieure du scren qui me permet de démarrer quelques activités je veux que le bouton reste en mode "sélectionné" indiquant que cette activité est "connectée" avec ce bouton, quelque chose comme bouton bascule ... Merci – Rilakkuma
@Rilakkuma: Vous pourriez envisager de faire votre propre graphique non pas pour le 'Button', mais pour le' ToggleButton' qui est conçu exactement pour cela: http://developer.android.com/intl/zh -CN/reference/android/widget/ToggleButton.html –