zu entsprechen Ich lerne Android-Benutzeroberflächen zu entwickeln. Ich möchte ein ImageButton mit einer Reihe von Zeichenelementen erstellen, um unterschiedliche Schaltflächenzustände anzuzeigen. Ich habe für jede Taste zwei Bilder erstellt: 133 dpi für den Normalzustand und eine skalierte Kopie (126 dpi), um den Push-Button-Effekt zu erzeugen.Zentrieren ImageButton src, nicht dehnen, um die Größe der Schaltfläche
Ich malte das zweite Bild, das Bildauswahlmechanismus funktioniert zumindest anzuzeigen.
Hier ist der Ausgangszustand meiner Anwendung
Wenn ich den Knopf drücken es nur seine Farbe ändert, aber nicht die Größe, wie erwartet. Beide Bilder werden auf die gleiche Größe
Aktivität Layout xml:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainUserActions"
android:background="@android:color/transparent">
<LinearLayout
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:weightSum="3"
android:layout_alignParentTop="true">
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
android:weightSum="2"
android:gravity="top">
<ImageButton
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/imageButton"
android:clickable="true"
android:layout_weight="1"
android:src="@drawable/broom_stick_image_selection"
android:background="@null"
android:layout_gravity="center"
android:scaleType="center" />
<ImageButton
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/imageButton2"
android:layout_gravity="center"
android:clickable="true"
android:layout_weight="1"
android:background="@null"
android:src="@drawable/vacuum_selection"
android:scaleType="center" />
</LinearLayout>
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center_horizontal"
android:layout_weight="1"></LinearLayout>
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center_horizontal"
android:layout_weight="1"></LinearLayout>
</LinearLayout>
</RelativeLayout>
ziehbar Auswahl xml:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true"
android:drawable="@drawable/broom_stick_white_pressed_rose" /> <!-- pressed -->
<item android:state_focused="true"
android:drawable="@drawable/broom_stick_white" /> <!-- focused -->
<item android:drawable="@drawable/broom_stick_white" /> <!-- default -->
</selector>
, wie das System sagen, Zentrieren nur die src Bilder auf das Tastenlayout, um sie nicht auf die gleiche Größe anzupassen?
Versuchen Sie, die Breite und Höhe der ImageButtons auf 'wrap_content' zu setzen. – NoChinDeluxe