TextView系列:TextView的高亮和置灰状态

Posted zhangjin1120

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了TextView系列:TextView的高亮和置灰状态相关的知识,希望对你有一定的参考价值。

  • 看设计稿,TextView的高亮和置灰是不常见的。

  • 核心代码:
        if (enable) {
            tv.setEnabled(true);
            tv.setTextColor(Color.parseColor("#06BF5F"));
        } else {
            tv.setEnabled(false);
            tv.setTextColor(Color.parseColor("#999999"));
        }
  • 效果图:
置灰高亮
  • 测试代码:
public class MainActivity extends AppCompatActivity {
    TextView tv;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        tv = findViewById(R.id.tv);
        tv.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Toast.makeText(MainActivity.this,"成功",Toast.LENGTH_SHORT).show();
            }
        });
        changeState(null);
    }

    boolean enable = false;
    public void changeState(View view) {
        if (enable) {
            tv.setEnabled(true);
            tv.setTextColor(Color.parseColor("#06BF5F"));
        } else {
            tv.setEnabled(false);
            tv.setTextColor(Color.parseColor("#999999"));
        }
        enable = !enable;
    }
}
  • 关于enableclickable的区别:
    enable不仅不能点击,而且在显示效果上,用户可以明显看出来禁用效果。
    clickable仅仅是不能点击,所以enable是包含clickable的。
    这里用enable更加恰当。

以上是关于TextView系列:TextView的高亮和置灰状态的主要内容,如果未能解决你的问题,请参考以下文章

Button系列:不用selector,也能实现Button高亮和置灰效果

TextView 高亮字体局部点击

TextView 高亮字体局部点击

textView输入中文时和高亮英文输入法时的字数统计

TextView添加Html标签属性

TextView添加Html标签属性