android中,要使控件获得焦点,需要先setFocus,再requestFocus。
以Button为例:
btn.setFocusable(true);
btn.setFocusableInTouchMode(true);
btn.requestFocus();
btn.requestFocusFromTouch();
//获得失去焦点的监听器
btn.setOnFocusChangeListener(new OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
// TODO Auto-generated method stub
if (hasFocus) {
btn_box.setBackgroundResource(R.drawable.book_green);
}else {
btn_box.setBackgroundResource(R.drawable.book);
}
}
});
本文详细介绍了在Android应用中如何使控件获得焦点,并通过设置监听器实现焦点变化时的状态调整。以Button组件为例,展示了如何通过调用setFocusable、setFocusableInTouchMode和requestFocus等方法来控制焦点获取,并通过onFocusChangeListener监听器来响应焦点变化,改变视图的背景样式。
1845

被折叠的 条评论
为什么被折叠?



