我有一个网格视图,每个项目都是文本视图。最初文本颜色是白色,背景颜色是透明的,当按下时,项目背景颜色将变为白色,在这种情况下是文本颜色并且项目颜色为白色。按下时整个布局将变为白色。
我想以编程方式设置网格项的文本颜色,我知道我可以使用选择器更改文本的颜色。
但我想根据背景颜色以编程方式设置文本颜色。
gridView2.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
// TODO Auto-generated method stub
tv_list_item_lang=(TextView)view.findViewById(R.id.tv_list_item_lang);
Constants.survey_language = ""
+ languagesNameList.get(position);
Log.d("survey_language", "" + languagesNameList.get(position));
try {
if (Constants.questions_arr_list.size() == 0) {
getCurrentSurveyQuestions();
}
} catch (Exception e) {
// TODO: handle exception
Log.e("exception", "" + Log.getStackTraceString(e));
}
// Intent intent=new
// Intent(SurveyYesNoActivity.this,TwoQuestionsActivity.class);
// startActivity(intent);
// finish();
gridView2.setEnabled(false);
});
需要帮助......提前谢谢!
答案 0 :(得分:2)
在color
res
文件夹
在同一文件夹中创建一个选择器,其名称为text_pressed.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="false" android:color="@color/white"/>
<item android:state_pressed="true" android:color="@color/app_mail_blue"/>
<item android:color="@color/white"/>
</selector>
并将TextView的textColor
设置为android:textColor="@color/text_pressed"
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Text View"
android:textColor="@color/text_pressed" />