我有一个圆形的按钮。我想要做的是按下时更改按钮颜色。有人能告诉我如何将代码添加到后台xml?谢谢。
<shape
android:shape="rectangle" android:padding="10dp">
<solid android:color="#c0dfba"/>
<corners
android:bottomRightRadius="5dp"
android:bottomLeftRadius="5dp"
android:topLeftRadius="5dp"
android:topRightRadius="5dp"/>
</shape>
答案 0 :(得分:10)
将XML
创建为res/drawable/button.xml
。
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true" >
<shape>
<solid
android:color="#343434" />
<stroke
android:width="1dp"
android:color="#171717" />
<corners
android:radius="3dp" />
<padding
android:left="10dp"
android:top="10dp"
android:right="10dp"
android:bottom="10dp" />
</shape>
</item>
<item>
<shape>
<gradient
android:startColor="#343434"
android:endColor="#171717"
android:angle="270" />
<stroke
android:width="1dp"
android:color="#171717" />
<corners
android:radius="4dp" />
<padding
android:left="10dp"
android:top="10dp"
android:right="10dp"
android:bottom="10dp" />
</shape>
</item>
</selector>
并将Button
设置为Background
<Button
android:id="@+id/btnValidate"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:background="@drawable/button"
android:text="SOS Trasition"
android:textColor="@android:color/white"
android:textSize="16sp"
android:textStyle="bold" />
如果您想要更改Button Text Color
,请在XML
创建res/color/button_text.xml
文件:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true"
android:color="#ffff0000"/> <!-- pressed -->
<item android:state_focused="true"
android:color="#ff0000ff"/> <!-- focused -->
<item android:color="#ff000000"/> <!-- default -->
</selector>
设置此布局XML
会将颜色列表应用于View
:
<Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/button_text"
android:textColor="@color/button_text" />
答案 1 :(得分:0)
如果您只想更改按钮的颜色,那么您也可以这样做。但此内容仅在运行时使用。
我知道你是在询问XML文件,但这很简单,但这只是一个简单的建议。
imageview.setColorFilter(Color.RED);
或者您也可以传递任何颜色代码,例如
imageView.setColorFilter(0xFFFF3D60, PorterDuff.Mode.MULTIPLY);
答案 2 :(得分:-3)
在drawable中创建一个xml文件并复制以下行..请务必根据需要更改颜色。 并将xml文件设置为按钮的背景 android:background =“你的xml”
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true" android:color="**your desired color when pressed**" />
<item android:color=" **default color when not pressed**" />
</selector>