安卓要获取button控件焦点,需要先开启触摸焦点设置,然后通过对button添加焦点变换的监听方法,来设置焦点后的按钮高亮显示设置。
工具/原料
android studio
方法/步骤
1
首先我们布局文件activity_main中创建一个button,设置id为“btn”。
2
在MainActivity中通过设置按钮的setFcusableInTouchMde(true)启用触摸焦点。
3
通过按钮的setOnFocusChangeListener方法监听按钮的焦点变换,通过hasFocus判断是否获得焦点,是的话就设置按钮文本为RED红色高亮,不是的话就设置black黑色,当然这里你也可以设置按钮的图片样式等。button.setOnFocusChangeListener(new View.OnFocusChangeListener() { public void onFocusChange(View v, boolean hasFocus) { if (hasFocus) { button.setTextColor(Color.RED); }else { button.setTextColor(Color.BLACK); } } });
4
接着我们再通过setOnClickListener方法监听按钮的点击,设置点击后失去焦点。button.setFocusable(false);
5
编译运行后,因为焦点默认就是在按钮上的所以按钮文本红色高亮显示。
6
我们再次点击按钮,调用点击方法让按钮失去焦点,我们发现按钮文本就变成了黑色。