9

有没有办法为按钮设置颜色背景图像?我想要一个带有透明 .png 的绿色按钮,但似乎你只能拥有一个或另一个。

4

4 回答 4

13

(不要)使用 ImageView

将您的绿色按钮背景图像设置为背景,将透明 png 设置为 src。您可以将选择器应用到背景,就像应用到按钮一样...

编辑:实际上已经为此制作了一个ImageButton,您应该改用它。我忘了。

于 2012-05-06T22:46:55.370 回答
4

试试这段代码对我有用:)

<ImageButton
android:id="@+id/button5"
style="?android:attr/buttonStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
...
android:src="@drawable/settingbtn"
android:background="@drawable/red_color"
     />
于 2014-06-16T02:36:38.180 回答
1

用透明度绘制单独的图像并保存图像。要为按下、聚焦等图像的实例显示不同的图像。使用以下方法。

使用带有背景的图像按钮,如下所示:

 `<?xml version="1.0" encoding="utf-8"?>
 <selector xmlns:android="http://schemas.android.com/apk/res/android">
 <item android:state_pressed="true"
       android:drawable="@drawable/imagewhenpressed" /> <!-- pressed -->
 <item android:state_focused="true"
       android:drawable="@drawable/imagewhenfocused" /> <!-- focused -->
 <item android:drawable="@drawable/defaultimage" /> <!-- default -->
 </selector>`

注意:这里三个图片-imagewhenpressed.png,imagewhenfocused.png & defaultimage.png 和这个xml应该放在drawable目录下。ImageButton 背景应该分配给filename这个 xml 像android:background="@drawable/xmlfilename"

于 2012-05-06T23:05:49.977 回答
1

改用 a ImageButton

您可以像正常一样设置背景,并在src属性中选择图像。scaleType如果图像太小或太大,您也可以弄乱该属性。

于 2015-05-13T00:48:46.427 回答