Kann mir bitte jemand helfen, benutzerdefinierte Schaltflächen wie unten zu erstellen? Ist es möglich? Habe viel gesucht und konnte nur einige Dinge finden, die sich wieder als rectangular/square shapes
herausstellen. Aber ich möchte, dass zwei Tasten sind und auf der anderen Seite angeordnet werden und nur auf ihren bestimmten besetzten Bereichen anklickbar sind. Code-Snippets sind willkommen.Erstellen von zwei benutzerdefinierten Schaltflächen
Antwort
können Sie das tun, indem View
erstreckt und Subklassen seine onTouchEvent
Methode, wie diese
public class BottomLeftTriangleButton extends View {
// Copy superclass contructors
@Override
public boolean onTouchEvent(MotionEvent event) {
if (event.getX()/getWidth() < event.getY()/getHeight()) {
return super.onTouchEvent(event);
}
return false;
}
}
diese Weise Ihre benutzerdefinierte Ansicht nur abfangen Klicks auf der unteren linken Bereich, entsprechend Ihrer " Knopf 2 "Bereich. Sie können den anderen Bereich anklickbar machen, indem Sie das Zeichen "<" in ">" ändern.
Dann setzen Sie Ihre 2 Ansichten in die gleiche FrameLayout
, und Sie sind fertig.
Können Sie bitte näher ausführen, wie dreieckige Tasten erstellen und ordnen sich wie im Bild oben an? – Apparatus
Setzen Sie Ihre 2 benutzerdefinierten Schaltflächen in das gleiche 'FrameLayout' und legen Sie' android: background für beide auf Ihre Schaltflächenbilder fest. Es gibt keine Standardressource für Dreiecksschaltflächen, Sie müssen die Bilder selbst erstellen. Sie können eine [Zustandsliste] (https://developer.android.com/guide/topics/resources/drawable-resource.html#StateList) verwenden, um unterschiedliche Bilder für gedrückte und normale Zustände zu verwenden. – minipif
Danke für Ihre Zeit. Meine Frage ist, wie man diese Art von benutzerdefinierten Schaltflächen vorbereitet. – Apparatus
Es ist möglich auf logische Weise, indem Sie ein Bild erstellen, das wie das obige Bild aussieht. Weil Sie die Befehlsschaltflächen nicht neu gestalten können. – Raynold
@Raynold Aber wenn wir ein Bild erstellen, wie können die Klickereignisse in ihren jeweiligen Formen getrennt werden? – Apparatus
Wie können Sie dieses Problem lösen? Ich habe diese Frage [hier] [1] [1]: http://stackoverflow.com/questions/19797430/android-complex-shape-button –