我想问一下,在应用程序的各个位置按下时,我需要创建哪些全局代码来突出显示文本。或者我是否只需要在每个要突出显示的文本正文中为onClick方法添加颜色线?
感谢您的建议。
更具体地说,我的问题,请看一下这段代码:
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
TextView text = (TextView) findViewById(R.id.textView2);
text.setOnClickListener(new View.OnClickListener() {
@Override public void onClick(View v) {
text.setTextColor(Color.GREEN);
}
});
}
}
我在每个页面/屏幕上有3个答案的答案中有54个答案,并且必须对每个答案使用相同的方法 - 按下时会被高亮显示。我想知道如何正确地做到这一点。如果我添加到findViewById(R.id.textView2); textView2之后的另一个文本ID,这不起作用。
答案 0 :(得分:1)
您需要使用textSelector。
请参阅以下链接,了解如何编写选择器 -
在您的情况下,如果您希望选择后文本颜色为绿色,您的选择器应该是这样的 -
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_selected="false" android:color="defalutColor" />
<item android:state_selected="true" android:color="greenColor" />
</selector>
你的textView将有textColor =“@ drawable / textSelector”
在代码中你需要为textView编写OnClickListener,在OnClick中你需要指出textView.setSelected(true)
这将使textColor变为绿色。