当前位置: 代码迷 >> Android >> Button 按钮的颜色设置有关问题
  详细解决方案

Button 按钮的颜色设置有关问题

热度:44   发布时间:2016-05-01 17:35:59.0
Button 按钮的颜色设置问题?
为什么 Button 在设置默认状态下,和设置背景颜色以后,形状都改变了?

------解决方案--------------------
形状变是因为你高和宽都使用了wrap_content。这样当背景变化后,会重新计算图形大小的。
默认的button使用的是一个点九的图,而你改成color肯定会导致形状不一样的。

如果需要固定背景,你可以使用一个图片作为背景。如果还是要用color那么,就要限制高宽,但是这样当文字改变时,可能就会显示不全了。
------解决方案--------------------
在drawable下新建一个custom_button.xml, 按钮的android:background="drawable/custom_button" 代码如下:
XML code
<?xml version="1.0" encoding="UTF-8"?><selector  xmlns:android="http://schemas.android.com/apk/res/android">    <item android:state_pressed="true">        <shape>            <gradient android:startColor="#116eb0" android:endColor="#116eb0" android:angle="270" />            <stroke android:width="1dp" android:color="#dcdcdc" />            <corners android:radius="5dp" />            <padding android:left="10dp" android:top="10dp" android:right="10dp" android:bottom="10dp" />                    </shape>    </item>    <item android:state_focused="true">        <shape>            <gradient android:startColor="#116eb0" android:endColor="#116eb0" android:angle="270" />            <stroke android:width="1dp" android:color="#dcdcdc" />            <corners android:radius="5dp" />            <padding android:left="10dp" android:top="10dp" android:right="10dp" android:bottom="10dp" />                    </shape>    </item>    <item>        <shape>            <gradient android:startColor="#1e87fb" android:endColor="#179bff" android:angle="270" />            <stroke android:width="1dp" android:color="#fad3cf" />            <corners android:radius="5dp" />            <padding android:left="10dp" android:top="10dp" android:right="10dp" android:bottom="10dp" />                    </shape>    </item></selector>
  相关解决方案