1 pièce(s) jointe(s)
Récupérer la position d'un clic sur ImageButton
Bonjour,
j'essaie actuellement de développer un application Android faisant appel à des boutons personnalisés ('j'ai d"ailleurs ouvert un topic à ce sujet).
J'utilise donc des ImageButton auxquels j'attribut une image (se trouvant dans mes ressources Drawables)
J'arrive donc à ce résultat :
Pièce jointe 245679
Or, je ne souhaite pas que le click se déclenche si l'utilisateur appui sur le bouton (carré) en dehors de la zone bleue.
Pour cela, j'ai besoin de récupérer la position à laquelle le click est effectué, j'ai donc implémenté ce code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
|
public class MainActivity extends AppCompatActivity {
private ImageButton b1;
private ImageButton b2;
private ImageButton b3;
private ImageButton b4;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
b1 = (ImageButton) findViewById(R.id.imageButton);
b2 = (ImageButton) findViewById(R.id.imageButton2);
b3 = (ImageButton) findViewById(R.id.imageButton3);
b4 = (ImageButton) findViewById(R.id.imageButton4);
b1.setOnTouchListener(new View.OnTouchListener(){
public boolean onTouch(View view, MotionEvent event) {
String s = view.getX() + " " + view.getY();
Toast.makeText(getApplicationContext(),s,Toast.LENGTH_LONG).show();
return true;
}
}
);
}
} |
Malheureusement, quelque soit l'endroit ou j'appui, la position renvoyée est toujours la même (celle visible sur la capture d'écran).
Auriez vous une solution pour pouvoir récupérer la position exacte du click ? (en prenant en référentiel l'ImageButton et non la totalité de l'écran)
Merci d'avance !
PS : Bien que cette problématique soit abordée dans le topic lié au début de celui-ci, j'ai souhaité crée un nouveau topic afin de mieux pointer cette problématique précise plut^t que de rester dans le topic général initial)