Ich bin ein Neuling in Andoird.ImageView Klicken Sie auf Best Practice
In meinem Fall habe ich ein Szenario, dass beim Klicken auf einen bestimmten Teil eines Bildes onclick Ereignisse auslösen wird. Ich habe versucht, die Position zu erkennen, wenn das onTouch ausgelöst wird, es funktioniert, aber ich denke, es ist keine Standardimplementierung. Was ist die beste Vorgehensweise für einen solchen Fall?
danke.
hier Codes wie:
imgView.setOnTouchListener ((OnTouchListener) neue OnTouchListener() {
public boolean onTouch(View v, MotionEvent event) {
if(isIn(event.getX(), event.getY(), 124,3,221,36)){
ShowMemberInfo(R.string.app_m01);
} else if(isIn(event.getX(), event.getY(), 8,155,72,181)){
..
}
return true;
}
private boolean isIn(float x, float y, int fx, int fy, int tx, int ty) {
return x<tx && x > fx && y<ty && y>fy;
}
Können Sie uns Ihre Implementierung zeigen, damit wir wissen, ob es sich um eine Standardimplementierung handelt oder ob es eine Best Practice gibt? – Th0rndike
Ich hatte meine Antwort geändert. :) Vielleicht können Sie versuchen, Rect zu verwenden, um Ihre benutzerdefinierte Erkennungsregion zu definieren, und call contains(), um zu überprüfen, ob sich der Berührungspunkt innerhalb des Bereichs befindet oder nicht. – Chickenrice