2013-03-16 4 views
10

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

enter image description here

+0

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

+1

@Raynold Aber wenn wir ein Bild erstellen, wie können die Klickereignisse in ihren jeweiligen Formen getrennt werden? – Apparatus

+0

Wie können Sie dieses Problem lösen? Ich habe diese Frage [hier] [1] [1]: http://stackoverflow.com/questions/19797430/android-complex-shape-button –

Antwort

2

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.

+0

Können Sie bitte näher ausführen, wie dreieckige Tasten erstellen und ordnen sich wie im Bild oben an? – Apparatus

+0

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

+0

Danke für Ihre Zeit. Meine Frage ist, wie man diese Art von benutzerdefinierten Schaltflächen vorbereitet. – Apparatus