2012-04-07 5 views

Antwort

2

Wie gesagt, verwenden Sie benutzerdefinierte Hintergrund 9-Patch-Zeichen für Ihr Widget. Das zweite Bild besteht aus EditText und ImageButton, die nebeneinander platziert sind. Verwenden Sie 9-Patch-Zeichen wie folgt für EditText background drawable for EditText und 9-Patch-Zeichen wie folgt für ImageButton background drawable for ImageButton. Sicher Selektor wie android:background für Widget-Status als normal, gedrückt und fokussiert.

Das erste Bild kann auch mit dem Attribut android:drawableRight erreicht werden. außer Kraft gesetzt onTouchEvent() Methode des Widgets kann wie folgt aussehen:

public boolean onTouchEvent(MotionEvent event) { 
    if (event.getAction() == MotionEvent.ACTION_UP && event.getX() >= getWidth() - getCompoundPaddingRight()) { 
     // search drawable was touched 
    } 
    ... 
} 
1

Sie Ihre eigenen Bilder als Hintergrund anstelle der standardmässigen verwenden.

Für die EditText Ansicht empfehle ich Blick in 9-patch für es in der Lage, reibungslos auf jedem Bildschirm zu skalieren.

1

Für den Hintergrund Ich denke, es ist einfacher, eine ziehbar Form wie folgt zu verwenden:

<shape xmlns:android="http://schemas.android.com/apk/res/android" 
    android:shape="rectangle" > 

    <corners android:radius="10dp" /> 

    <solid android:color="@android:color/white" /> 

    <padding 
     android:left="8dp" 
     android:right="8dp" 
     android:top="8dp" 
     android:bottom="8dp" /> 

</shape> 

Der Radius der Hintergrund gibt die abgerundeten Ränder und kann leicht angepasst werden, so ändert sich die Größe der Polsterung.