标签:java background-color android
我基本上想要在触摸时自定义列表项的背景颜色.我厌倦了写一个听众,但它接缝我犯了某种错误或误解了这些行为的概念.
v.setOnTouchListener( new TextView.OnTouchListener() {
public boolean onTouch(View v, MotionEvent event) {
switch(event.getAction()) {
case MotionEvent.ACTION_DOWN:
v.setBackgroundColor(Color.RED);
break;
case MotionEvent.ACTION_UP:
v.setBackgroundColor(Color.WHITE);
break;
}
return false;
}
}
);
默认颜色为浅蓝色.我想为每个列表项更改它.
此代码在触摸时将项目颜色更改为红色,但在此之后不会更改.
解决方法:
但也许最好的方法是使用颜色状态…在颜色文件夹中创建一个文件mycolors.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="#ff0000"/> <!-- pressed -->
<item android:color="#ffffff"/> <!-- default -->
</selector>
然后你将这个视图的背景设置为:android:background =“@ color / mycolors”在布局xml中或者在程序上像这样:v.setBackgroundColor(getResources().getColor(R.color.mycolors);
在这种情况下,不需要点击或触摸听众.一切都会神奇地发生.
更多关于它:http://developer.android.com/guide/topics/resources/color-list-resource.html
标签:java,background-color,android 来源: https://codeday.me/bug/20190620/1247598.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。