详细了解android中view的focus焦点处理
来源:互联网 发布:淘宝福利买家秀搜什么 编辑:程序博客网 时间:2024/05/29 10:09
一. 通过isFocusable()这个方法我们可以知道view是否具有接受焦点的资格,通过setFocusable().来设置view接受焦点的资格;
对应在触摸模式下,你可以调用isFocusableInTouchMode().来获知是否有焦点来响应点触,也可以通过setFocusableInTouchMode().来设置是否有焦点来响应点触的资格.
在Activity中,当我们按上下左右方向键时,view中的焦点也会移动,我们怎么控制他的移动顺序呢,在XML属性布局文件中,有四个属性: nextFocusDown , nextFocusLeft , nextFocusRight ,和nextFocusUp, 设置他们的值来明确焦点从当前界面移动下个界面的Id。例如:<LinearLayout
android:orientation="vertical"
... >
<Button android:id="@+id/topBtn"
android:nextFocusUp="@+id/bottomBtn" //当焦点处在这个topBtn按钮上,再按向上方向键,焦点就会移动到bottomBtn按钮上。
... />
<Button android:id="@+id/bottomBtn"
android:nextFocusDown="@+id/topBtn" //当焦点处在这个bottomBtn按钮上,再按向下方向键,焦点就会移动到topBtn按钮上。
... />
</LinearLayout>
二.不让文本输入框默认获得焦点,弹出键盘占据我们的屏幕的方法
有时会遇到一种情况,在真机运行一个页面,焦点会默认在EditText上,然后自动弹出键盘来占据大半个屏幕。处理方法很简单。在配置文件中加一句:
<activity ... android:windowSoftInputMode="stateAlwaysHidden|adjustResize" />
这样即可,意思是默认隐藏键盘输入法。
三 当有个可滚动的空间嵌套时,比如ScrollView 中放置了 ListView或者ScrollView 或者EditText,怎么实现我们想要的效果,这个问题答案正在寻找中,有遇到的这个问题的朋友希望你能帮帮忙
onInterceptTouchEvent()的机制:
- down事件首先会传递到onInterceptTouchEvent()方法
- 如果该ViewGroup的onInterceptTouchEvent()在接收到down事件处理完成之后return false,那么后续的move, up等事件将继续会先传递给该ViewGroup,之后才和down事件一样传递给最终的目标view的onTouchEvent()处理
- 如果该ViewGroup的onInterceptTouchEvent()在接收到down事件处理完成之后return true,那么后续的move, up等事件将不再传递给onInterceptTouchEvent(),而是和down事件一样传递给该ViewGroup的onTouchEvent()处理,注意,目标view将接收不到任何事件。
- 如果最终需要处理事件的view的onTouchEvent()返回了false,那么该事件将被传递至其上一层次的view的onTouchEvent()处理
- 如果最终需要处理事件的view 的onTouchEvent()返回了true,那么后续事件将可以继续传递给该view的onTouchEvent()处理
- 详细了解android中view的focus焦点处理
- android中view的focus焦点处理
- android中view的focus焦点处理
- android 获得焦点(View get focus)
- Android的焦点(Focus)问题
- Android的焦点(Focus)问题
- Android的焦点(Focus)问题
- Android开发中audio focus的处理
- Android的焦点(Focus)问题 focusable
- Android 焦点Focus问题的总结
- Android中View的焦点事件整理
- C#简单的委托 处理设置不了焦点 txt.focus()
- Android 音频焦点(Audio Focus)
- Android 音频焦点(Audio Focus)
- Android 音频焦点(Audio Focus)
- Android 音频焦点(Audio Focus)
- Android View Focus详解
- android 中的一些焦点处理(listView GridView 抢焦点 与focus技巧)
- 八种方法优化Windows 7任务栏使之更精彩
- 【数据库-SQL】SQL Server 中UNION 与ORDER BY共存(错误提示:关键字 'ORDER' 附近有语法错误。)
- C#操作Excel
- C++引用 && 指针
- VB.net 连接 MySql,Use MySql.Data.dll
- 详细了解android中view的focus焦点处理
- [转译] Forefront TMG SP1软件更新1汇总4发布
- 数据库正常启动所经历的几种状态
- Objc中MD5加密
- vc 通过ODBC 方式操作EXCEL
- java注释
- 史上最全公开课纪录片下载地址汇总
- android 调试技术
- 模态窗口向本窗口提交form