这是正在发生的事情:
这是源图像:
这是 xml 布局的一部分:
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/background_headers"
android:orientation="horizontal" >
<AutoCompleteTextView
android:id="@+id/etNewItem"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:completionThreshold="2"
android:dropDownHeight="wrap_content"
android:dropDownWidth="wrap_content"
android:hint="@string/et_newitemhint"
android:inputType="text|textCapSentences"
android:layout_centerVertical="true"
style="@style/DialogEditText"
android:layout_marginRight="10dp"
android:singleLine="true" />
<Button
android:id="@+id/btnAddNew"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:background="@drawable/btn_add"
android:layout_centerVertical="true" />
</RelativeLayout>
这是按钮的 Selector xml:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:state_focused="true"
android:drawable="@drawable/btn_add_pressed"/>
<item android:state_pressed="true"
android:drawable="@drawable/btn_add_pressed"/>
<item android:drawable="@drawable/btn_add_normal"/>
</selector>
为什么这个按钮在 4.xx 中水平调整大小?源图形确实曾经是一个 9-patch,但它做了完全相同的事情,所以我将其更改为普通 png,但没有结果。
奇怪的是,这是唯一表现出这种行为的图形。我在某处的操作栏中有它:同样的事情;我也有它在一个对话框中:同样的事情。
我的 2.2.2 和 2.3.6 测试设备按原样显示按钮,但我的任何 4.xx 测试设备都显示拉长的按钮。