Voici mon code qui montre un PopUp lorsque le bouton est touché et le rejette, lorsque l'utilisateur libère son doigt.comment définir un OnTouchListener pour un PopupWindow?
Mais j'ai besoin de savoir si l'utilisateur vient de relâcher son doigt ou s'il a glissé dans le popup et libéré son doigt de là.
Dans mon code cela ne fonctionne pas vraiment, car je suppose que le popup ne se concentre pas sans que l'utilisateur ne lâche son doigt. Y a-t-il un moyen de le réparer?
Merci!
LinearLayout LinLay = new LinearLayout(this);
ImageView ivg = new ImageView(this);
ivg.setImageResource(R.drawable.icon);
LinLay.addView(ivg);
final PopupWindow pw = new PopupWindow(LinLay, 100, 100, true);
final Button bt2 = (Button)findViewById(R.id.button2);
bt2.setOnTouchListener(new OnTouchListener(){
@Override
public boolean onTouch(View v, MotionEvent event) {
if(event.getAction() == MotionEvent.ACTION_DOWN)
{
pw.showAtLocation(bt2, Gravity.CENTER, 0, 0);
}
else if(event.getAction() == MotionEvent.ACTION_UP)
{
pw.dismiss();
}
return true;
}
});
ivg.setOnTouchListener(new OnTouchListener(){
@Override
public boolean onTouch(View v, MotionEvent event) {
if(event.getAction() == MotionEvent.ACTION_UP)
{
showToast(); /// doesn't work! :)
}
return true;
}
});
}
public void showToast()
{
Toast.makeText(this, "AAA!", 500).show();
}
Merci pour l'entrée! :) Mais la question était un peu différente, j'ai besoin de trouver la météo, l'utilisateur avait libéré son doigt dans le popup ou en dehors de celui-ci. Bien sûr, je peux utiliser les coordonnées de l'événement, mais je pensais juste qu'il pourrait y avoir un meilleur moyen. – Roger