Android 图层列表按钮选择器不填充宽度

Android 图层列表按钮选择器不填充宽度,android,android-button,Android,Android Button,编辑:图层列表似乎是这样绘制的:普通按钮背景9面片在后面。高光9面片绘制在正常背景内部,而不是在其顶部。因此,它位于正常背景的9面片属性中指定的填充框内。这是我在正常背景下修补填充框时发现的。这不是我想要的。有没有另一种方法,不使用图层列表,让我只需在按下状态下将高光图像分层到正常背景之上 我有一个按钮背景选择器: <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item a

编辑:图层列表似乎是这样绘制的:普通按钮背景9面片在后面。高光9面片绘制在正常背景内部,而不是在其顶部。因此,它位于正常背景的9面片属性中指定的填充框内。这是我在正常背景下修补填充框时发现的。这不是我想要的。有没有另一种方法,不使用图层列表,让我只需在按下状态下将高光图像分层到正常背景之上

我有一个按钮背景选择器:

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

    <item android:drawable="@drawable/btnprimary" android:state_pressed="false" />
    <item android:drawable="@drawable/btn_primary_pressed_bg" android:state_pressed="true" />

</selector>
如您所见,按下的状态是正常背景,顶部有一个高光层,以指示按下的状态
btnhighlight
是另一个9-patch.png,它与未按下状态背景具有完全相同的可拉伸区域和填充框

这几乎是完美的。问题是,在按下状态下,标准背景正常显示,但顶部的高光不能完全填充按钮的宽度(高度正常填充)

以下是一个屏幕截图:

这是处于正常(未按下)状态的同一个按钮:

有趣的是,如果我将选择器中的图层列表替换为按下状态的高亮显示,它将完全填充宽度:

此模式适用于应用程序中的所有按钮。我没有为按钮指定任何填充

编辑:以下是slukian提供的建议的结果:


你确定你的
btnhighlight
png在深蓝色矩形的左右两侧没有空白吗?是的-如果我只使用
btnhighlight
而不是图层列表,你可以在第三个屏幕截图中看到背景的样子。你找到解决方案了吗?
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >

    <item android:drawable="@drawable/btnprimary"/>

    <item android:drawable="@drawable/btnhighlight"/>

</layer-list>