Android Sur Focus de l'Auditeur et Sur l'Écouteur de clics sur ImageView
J'ai une imageview - Il possède à la fois les attributs -focusable et focusableintouchmode ensemble de vrai
<ImageView
android:id="@+id/ivMenu01"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:focusable="true"
android:focusableInTouchMode="true" >
</ImageView>
J'ai mis en œuvre la onFocusChangeListener dans mon activité-
@Override
public void onFocusChange(View v, boolean hasFocus) {
switch (v.getId()) {
case R.id.ivMenu01:
if (hasFocus) {
ivMenu01.setImageBitmap(Utility
.getBitmap("Home_ford_focus.png")); //Focussed image
} else {
ivMenu01.setImageBitmap(Utility.getBitmap("Home_ford.png")); //Normal image
}
break;
default:
break;
}
}
Également la onClickListener -
case R.id.ivMenu01:
ivMenu01.requestFocus();
Intent iFord = new Intent(HomeScreen.this, FordHome.class);
startActivity(iFord);
break;
Maintenant quand je clique sur l'ImageView le premier clic donne le focus à l'ImageView et le second clic effectue l'action.
Je ne suis pas sûr de savoir pourquoi cela se passe .
Le premier clic de demande ainsi que le focus effectuer l'action.
Toute aide sur la façon de le faire sera très appréciée.
Vous devez vous connecter pour publier un commentaire.
C'est le moyen le widget cadre est conçu.
Quand vous regardez
View.onTouchEvent()
code, vous verrez que l'action du clic est effectué uniquement si la vue a pris l'accent:Donc, comme vous l'avez remarqué, le premier clic permet d'avoir une vue obtenir le focus. La seconde va déclencher le gestionnaire de clic depuis le point de vue a déjà focus.
Si vous voulez modifier l'image de la
ImageView
quand il est pressé, vous devez mettre en œuvre uneView.OnTouchListener
et de le régler viaImageView.setOnTouchListener()
méthode. Que l'auditeur devrait ressembler plus ou moins comme ceci:Vous pouvez également utiliser un Sélecteur aka Liste d'État Drawable pour obtenir la même chose. Voir ici: http://developer.android.com/guide/topics/resources/drawable-resource.html#StateList