从xmlselect器填充图像

我试图padd我的主菜单的button背景图像(我使用不同状态的select器),这样做(buttoninicio_custom.xml):

<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:drawable="@drawable/botoninicial_pressed" android:state_pressed="true"> <padding android:left="10dp" android:top="10dp" android:right="10dp" android:bottom="10dp" /> </item> <item android:drawable="@drawable/botoninicial_pressed" android:state_focused="true"> <padding android:left="10dp" android:top="10dp" android:right="10dp" android:bottom="10dp" /> </item> <item android:drawable="@drawable/botoninicial"> <padding android:left="10dp" android:top="10dp" android:right="10dp" android:bottom="10dp" /> </item> </selector> 

但填充不起作用。 我该怎么办才能解决这个问题?

我已经在内部填充的每个“item”标签中使用了“bitmap”标签,但它仍然在做任何事情!

我的主键是这样的:

 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center_horizontal" android:orientation="horizontal" > <Button android:id="@+id/button2" android:layout_width="180dp" android:layout_height="50dp" android:layout_marginBottom="15dp" android:textSize="16sp" android:textColor="#FFFFFF" android:background="@drawable/buttoninicio_custom" android:text="@string/idmMENU2" /> </LinearLayout> 

“因为如果我把android:padding设置在”button“标签里面,它会给我的文本填上不是背景图片的…问题是当我按下主button时:我的图片背景正确改变,但新图片显示剪切。 “

Solutions Collecting From Web of "从xmlselect器填充图像"

将其包装在一个layer-list

 <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item android:bottom="3dp" android:left="3dp" android:right="3dp" android:top="1dp"> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <!-- your original selector content --> </selector> </item> </layer-list> 

填充属性在标签下是没有用的。 如果你按Ctrl +空格(自动完成),然后android不会build议使用这个标签,虽然Android不会给任何错误。 您可以在创build可绘制的形状时定义填充。像这样的东西:

 <item android:state_pressed="true"> <shape > <solid android:color="#2c68e7" /> <stroke android:width="1dp" android:color="#2c68e7" /> <corners android:radius="4dp" /> <padding android:left="10dp" android:right="10dp" android:top="10dp" android:bottom="10dp" /> </shape> </item> 

但是你不能在可绘制的形状中使用图像资源。

更好的解决scheme是将相同大小和尺寸的图像用于视图。