我有一個可點擊的TextView,我想給一些顏色。但我不知道如何。下面是我的兩個文件我的工作相關的代碼片段:更改焦點上可點擊的TextView顏色並單擊?
TextView title = new TextView(this);
title.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT));
title.setTextColor(R.color.textcolor);
title.setText(titleLine);
title.setTypeface(null, Typeface.BOLD);
title.setClickable(true);
title.setId(idLine);
title.setFocusable(true);
title.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
/* Irrelevant code */
}
});
這是我textcolor.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="#000000"/> <!-- pressed -->
<item android:state_focused="true"
android:color="#000000"/> <!-- focused -->
<item android:color="#000000"/> <!-- default -->
</selector>
當我鍵入使用的文字顏色文件title.setTextColor(R.color.textcolor);,textcolor只是變成灰色,不管我是否按下左右。這是奇怪的,因爲我已經在所有顏色字段中編寫了「#000000」。
但是,如果我刪除setTextColor代碼,獲取textView淺灰色的顏色,當我按它時,它變成黑色。但那不是我想要的顏色。
那麼,任何人都可以幫助我解決這個問題嗎?
只是爲了澄清:我希望能夠爲正常,按下和聚焦的文本指定顏色。
對於人們通過搜索引用此頁面上,請參閱我的回答如果你正在尋找使用的顏色,而不是'ColorStateList'。我的解決方案無需使用Java編寫任何代碼:) – 2013-02-11 19:54:06