我想问您,我必须创建哪些全局代码才能在应用程序的各个位置按下时突出显示文本。或者我是否必须在每个要突出显示的文本正文中向 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);
}
});
}
}
我在每个页面/屏幕上有 54 个答案,每组 3 个答案,并且必须对每个答案使用相同的方法 - 按下时突出显示。我想知道我怎样才能正确地做到这一点。如果我添加到 findViewById(R.id.textView2); textView2 之后的另一个文本 id 不起作用。
最佳答案
为此,您需要使用 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变成绿色。
关于java - 将突出显示文本应用于多个文本行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41913475/