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 :
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 :
Malheureusement, quelque soit l'endroit ou j'appui, la position renvoyée est toujours la même (celle visible sur la capture d'écran).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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; } } ); } }
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)
Partager