您好我正在尝试更改列表项的背景颜色,我需要以编程方式执行此操作,因为需要设置的颜色是从我的活动中的字符串中解析出来的。有谁知道怎么做?
我尝试过设置视图的背景,但这只会改变背景颜色,而不仅仅是在选择背景颜色时。
public void onItemSelected(View v, int position, JSONObject itemDict, String bgColor) {
// TODO Auto-generated method stub
if( v.isActivated() == true){
v.setBackgroundColor(Color.parseColor(bgColor));
TextView title = (TextView) v.findViewById(R.id.name);
TextView docType = (TextView) v.findViewById(R.id.doctype);
if(title != null){
title.setTextColor(Color.parseColor(bgColor));
}
if(docType != null){
docType.setTextColor(Color.parseColor("#FFFFFF"));
}
}
Intent sectionMain = new Intent(this, SectionDetail.class);
sectionMain.putExtra("color", bgColor);
sectionMain.putExtra("fullDict", itemDict.toString());
startActivity(sectionMain);
}
答案 0 :(得分:4)
您是否尝试过设置OnTouchListener
?
view.setOnTouchListener(new OnTouchListener() {
public boolean onTouch(View v, MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_DOWN) {
v.setBackgroundColor(pressColor);
} else if (event.getAction() == MotionEvent.ACTION_UP) {
v.setBackgroundColor(normalColor);
}
}
return false;
});
假设您已定义pressColor
和normalColor