当前位置: 代码迷 >> 综合 >> android 所有焦点问题汇总【Focus】
  详细解决方案

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

热度:14   发布时间:2023-12-09 21:17:28.0

一. 主动获取焦点

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

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

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

二:子类是否获取焦点

 
<h4 style="margin: 0px; padding: 0px; "><a target=_blank name="t2" style="color: rgb(51, 102, 153); "></a>android:descendantFocusability</h4><div><p>Defines the relationship between the ViewGroup and its descendants when looking for a View to take focus.</p><p>Must be one of the following constant values.</p><div><table><colgroup align="left"></colgroup><colgroup align="left"></colgroup><colgroup align="left"></colgroup><tbody><tr><th>Constant</th><th>Value</th><th>Description</th></tr><tr><td><code>beforeDescendants</code></td><td> <wbr>0</wbr></td><td>The ViewGroup will get focus before any of its descendants.</td></tr><tr><td><code>afterDescendants</code></td><td> <wbr> 1</wbr></td><td>The ViewGroup will get focus only if none of its descendants want it.</td></tr><tr><td><code>blocksDescendants</code></td><td> <wbr>2</wbr></td><td>The ViewGroup will block its descendants from receiving focus</td></tr></tbody></table></div><div> </div><div><a target=_blank target="_blank" href="http://blog.csdn.net/feizhixuan46789/article/details/22949541" style="color: rgb(51, 102, 153); text-decoration: none; ">具体可以看另外一篇文章: android:descendantFocusability用法简析</a></div></div>

 

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

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

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

@Override

public void onWindowFocusChanged(boolean hasFocus) {
// TODO Auto-generated method stub
super.onWindowFocusChanged(hasFocus);
}
  相关解决方案