android 所有焦点问题汇总【Focus】

一. 主动获取焦点

setFocusable(true); // 是设置能否获得焦点而已。.

requestFocus(); //是让控件得到焦点

requestFocusInWindow() //的作用应该是获取窗口的焦点

二:子类是否获取焦点

android:descendantFocusability
Defines the relationship between the ViewGroup and its descendants when looking for a View to take focus.

Must be one of the following constant values.

Constant    Value   Description
beforeDescendants    
 0  The ViewGroup will get focus before any of its descendants.
afterDescendants      1 The ViewGroup will get focus only if none of its descendants want it.
blocksDescendants    
 2  The ViewGroup will block its descendants from receiving focus

具体可以看另外一篇文章: android:descendantFocusability用法简析

三:监听activity获取/失去焦点(onWindowFocusChanged)

作用:1.可以监听activity获取/失去焦点 【hasFocus: true 获取焦点, false失去焦点】

            2.判断activity加载完成(当所有生命周期完成后调用该方法)

@Override

public void onWindowFocusChanged(boolean hasFocus) {
    // TODO Auto-generated method stub
    super.onWindowFocusChanged(hasFocus);
}

你可能感兴趣的:(android 所有焦点问题汇总【Focus】)