2017-04-20 155 views
0

我有一個帶圖像背景的按鈕。每當我點擊按鈕它變得更小,並保持小。我已經檢查過,背景圖片尺寸相同。爲什麼按鈕大小在點擊後發生變化

<android.support.v7.widget.AppCompatButton 
     android:id="@+id/back" 
     android:layout_width="20dp" 
     android:layout_height="20dp" 
     android:minWidth="20dp" 
     android:minHeight="20dp" 
     android:layout_above="@+id/joystick1" 
     android:layout_toEndOf="@+id/lb" 
     android:layout_toRightOf="@+id/lb" 
     android:background="@drawable/selector_btn_start_back" /> 

@繪製/ selector_btn_start_back:

<?xml version="1.0" encoding="utf-8"?> 

<item android:drawable="@drawable/controller_start_back_clicked" android:state_pressed="true"/> 
<item android:drawable="@drawable/controller_start_back" android:state_selected="false"/> 

並將這些圖像在華電國際16 * 16。

如何在點擊按鈕後保持相同的大小(xml佈局)?

+0

是否有任何理由你使用按鈕呢?我不明白這個問題是什麼,但只是使用ImageView而不是Button可以修復它。 –

+0

我不太確定你爲什麼要拍攝多張照片,但是如果您在按下按鈕時更改圖像,是否可以發佈該代碼 –

回答

0

檢查drawable/selector_btn_start_back以確保它符合此spec。你所呈現的不完整。

狀態列表

甲StateListDrawable是使用若干不同圖像來表示相同的圖形,根據對象的狀態中的XML定義的可繪製的對象。例如,Button小部件可以以幾種不同狀態之一存在(按下,關注或不存在),並且使用可繪製的狀態列表,可以爲每個狀態提供不同的背景圖像。

您可以在XML文件中描述狀態列表。每個圖形由單個元素內的元素表示。每個都使用各種屬性來描述應該將其用作可繪製圖形的狀態。

在每次狀態更改期間,狀態列表從上到下遍歷,並使用與當前狀態匹配的第一個項目 - 選擇不是基於「最佳匹配」,而是僅僅滿足最小值的第一個項目國家標準。

相關問題