Quels sont les bons moyens de rendre le widget CheckBox
plus facile à utiliser dans les applications Android? Dans mon application, les deux le CheckBox
et les choses derrière et à côté de -CheckBox
sont utilisables, servant des fonctions distinctes. J'ai remarqué qu'il est difficile de cibler le CheckBox
avec mon index, et j'ai des doigts fins.
Pour le contexte, ce CheckBox
se trouve sur le côté droit d'un adaptateur ListView
. Le côté gauche de l'élément a deux TextView
s. ListView
est une liste de courses; l'utilisateur appuie sur l'article dans la liste d'achats pour voir une description détaillée dans une boîte de dialogue, puis sur CheckBox
pour marquer l'article comme acheté. Par conséquent, je ne peux pas simplement rendre l'élément entier utilisable pour basculer le CheckBox
, car il n'y aurait aucun bon moyen d'afficher la boîte de dialogue de détail.
J'ai envisagé de créer une sorte de widget fantôme entourant le CheckBox
, qui déclenche une bascule CheckBox
, juste pour en faire une cible plus grande pour les doigts, mais est-ce une bonne conception d'interface utilisateur? Existe-t-il une solution de meilleures pratiques?
Vous pouvez essayer d'utiliser un TouchDelegate pour augmenter la zone cliquable de la case à cocher elle-même. Vous pouvez trouver une réponse sur SO indiquant comment faire cela ici .
Copier-coller:
final View parent = (View) delegate.getParent();
parent.post( new Runnable() {
// Post in the parent's message queue to make sure the parent
// lays out its children before we call getHitRect()
public void run() {
final Rect r = new Rect();
delegate.getHitRect(r);
r.top -= 4;
r.bottom += 4;
parent.setTouchDelegate( new TouchDelegate( r , delegate));
}
});