有背景颜色和图象的按钮

时间:2016-09-15 06:29:12

标签: android android-studio

我有一个按钮,可以在单击时更改图像 我用这段代码完成了。

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:drawable="@drawable/ic_fullscreen_gmap" android:state_selected="false"/>
    <item android:drawable="@drawable/ic_fullscreen_exit_gmap"/>
</selector>  

是否可以更改默认按钮的颜色但与图像一起更改?
我想把它改成什么。
默认按钮颜色类似于灰色,我想改变它。

2 个答案:

答案 0 :(得分:0)

要更改Button的图片和背景颜色,您可以使用ImageButton并为android:srcandroid:background属性定义单独的选择器。

例如:

button_src_selector.xml

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@drawable/ic_fullscreen_gmap"/>

    <item android:state_pressed="true"
          android:drawable="@drawable/ic_fullscreen_exit_gmap"/>
</selector>

button_bg_selector.xml

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@color/color1"/>

    <item android:state_pressed="true"
          android:drawable="@color/color2"/>
</selector>

ImageButton

<ImageButton
    android:id="@+id/button"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:src="@drawable/button_src_selector"
    android:background="@drawable/button_bg_selector"/>

答案 1 :(得分:0)

以下代码将帮助您更改默认按钮背景:

<?xml version="1.0" encoding="utf-8"?>    
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@drawable/button_bg_selected" android:state_selected="true"></item>
    <item android:drawable="@drawable/button_bg_pressed" android:state_pressed="true"></item>
    <item android:drawable="@drawable/button_bg_normal"></item>
</selector>