我想創建一個按鈕,當它被按下時會改變大小(稍小一些),並且在按鈕被再次釋放後,大小應該變回正常大小。Android:當按鈕狀態按下時按鈕填充改變
我發現了一個很好的按鈕的xml選擇器,它可以在按下按鈕時改變顏色。 我試圖改變只是填充,你可以看到在XML中,但它不起作用。
它爲什麼不起作用?我怎樣才能做到這一點?
我也嘗試使Button
和LinearLayout
無效,Button
在觸摸時包含它。
佈局,我膨脹:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_gravity="center"
android:orientation="horizontal"
android:weightSum="1"
>
<Button
android:id="@+id/cancel_button"
style="@style/ButtonText"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:background="@drawable/purplebutton"
android:text="@string/done_button"
android:layout_weight ="0.5"/>
<Button
android:id="@+id/done_button"
style="@style/ButtonText"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:background="@drawable/yellowbutton"
android:text="@string/done_button"
android:layout_weight ="0.5"/>
</LinearLayout>
purplebutton.xml:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true" >
<shape>
<solid
android:color="#a276eb" />
<stroke
android:width="1dp"
android:color="#6a3ab2" />
<corners
android:radius="3dp" />
<padding
android:left="5dp"
android:top="5dp"
android:right="5dp"
android:bottom="5dp" />
</shape>
</item>
<item>
<shape>
<gradient
android:startColor="#a276eb"
android:endColor="#6a3ab2"
android:angle="270" />
<stroke
android:width="1dp"
android:color="#6a3ab2" />
<corners
android:radius="4dp" />
<padding
android:left="10dp"
android:top="10dp"
android:right="10dp"
android:bottom="10dp" />
</shape>
</item>
</selector>