当用户触摸视图时,是否有基本的XML android标记用于更改视图的背景颜色?说它是可点击的文本视图。当用户触摸TextView时,我想提供一些反馈(即更改背景颜色),以便用户知道它是一个按钮。
答案 0 :(得分:0)
您可以使用style属性设置任何视图的背景。
您可以使用style属性修改按钮的文本颜色,字体和背景颜色。
执行此操作的步骤。
步骤1.定义名为res / drawable / button_clickedState.xml
的XML文件button_clickedState.xml
<?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/btn_pressed" />
<item
android:state_pressed="false"
android:drawable="@drawable/btn_normal" />
</selector>
第2步
在Onclick方法中,添加以下代码行。
b.setBackgroundResource(R.drawable.button_clickedState);// b is your button
此stackoverflow问题提供了有关如何为任何视图设置样式属性的详细信息。
答案 1 :(得分:0)
为此,您需要在Resources / drawable-hdpi目录
下创建XML say background.xml <selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true"
android:drawable="@color/green"
/>
</selector>
假设您的TextView是“tv”,然后在代码中添加以下行
tv.setClickable(true);
tv.setBackgroundDrawable(getResources().getDrawable(R.drawable.background));
OPTIONAL
现在您可能(或可能不想)在用户触摸/按下按钮时更改文本颜色,因为您需要在resources / color目录中创建另一个xml说“textcolor.xml”,方法与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="#ffff0000"/> <!-- color you want when view pressed-->
<item android:color="@color/white" /> <!--or whatever is your default color-->
</selector>
当然,您需要选择与背景相匹配的合适颜色。创建xml后,您需要在代码中添加以下行(同样假设TextView名称为“tv”
XmlResourceParser parse==getResources().getXml(R.color.textcolor);
ColorStateList csl=ColorStateList.createFromXml(getResources(), parse);
tv.setTextColor(csl);
[注意:在您的Resources / values中创建一个文件color.xml并设置String颜色值]
<resources>
<color name="white"> #EFFBF5</color>
<color name="green">#008000</color>
</resources>
答案 2 :(得分:0)
是的,它可以用XML完成。
首先在drawable文件夹中创建一个类似于上述答案的选择器:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@color/off_white" android:state_focused="true"/>
<item android:drawable="@color/off_white" android:state_pressed="true"/>
<item android:drawable="@color/white"/>
</selector>
然后设置属性android:background =“@ drawable / myDrawableSelector”。
<TextView
android:id="@+id/login_email"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="80dp"
android:background="@drawable/myDrawableSelector"
android:padding="12dp" />