1.取消EditText自动获取焦点

  在项目中,一进入一个页面, EditText默认就会自动获取焦点,弹出输入法界面,很不友好。那么如何取消这个默认行为呢?

  解决之道:在EditText的父级控件中找一个,设置成android:focusable="true" android:focusableInTouchMode="true",并且使用<requestFocus />来获取焦点即可。

  示例代码:

<LinearLayout     android:layout_width="match_parent"    android:layout_height="wrap_content"    android:focusable="true"      android:focusableInTouchMode="true">    <requestFocus />    <EditText         android:layout_width="match_parent"         android:layout_height="wrap_content" /></LinearLayout>

2.Android中组件焦点抢占问题解决

  在项在android中经常会出现焦点抢占的情况,在本文第一点中已经提出了一种解决方案,在部分情况下是可行的。然而在有些时候有多个组件抢占焦点,使得1中的方案并不能正确执行,例如在使用Searchview且指定了其默认展开时【android:iconifiedByDefault="false"】,其父组件并不能获取焦点,此时,考虑在父组件中添加如下属性:android:descendantFocusability

  • android:descendantFocusability="blocksDescendants" //会覆盖子类控件而直接获得焦点android:focusable="false"
  • android:descendantFocusability="beforeDescendants"  //会优先其子类控件而获取到焦点
  • android:descendantFocusability="afterDescendants" //只有当其子类控件不需要获取焦点时才获取焦点

更多相关文章

  1. Android(安卓)Volley 库通过网络获取 JSON 数据
  2. Android传感器编程入门(二)
  3. Scroll,
  4. [Android][获取Android设备唯一标识]
  5. Android(安卓)Sudio 如何获取开发版SHA1和发布版SHA1
  6. Android(安卓)Wi-Fi Ethernet新IP获取机制—IpManager(Android(
  7. Android获取联系人
  8. android获取网络类型
  9. Android(安卓)关闭后台音频播放

随机推荐

  1. Linux性能优化(十六)——中断绑定
  2. 在 JavaScript 中新的绘图思路[每日前端
  3. 来B站一年,我活成了人的模样!
  4. jQuery自定义样式下拉框,支持分组、多选和
  5. HTML5 3D立体图片相册
  6. Linux性能优化(十五)——CPU绑定
  7. HTML5弹性切换焦点图动画
  8. 转行的路,走起来其实有点累...
  9. 我的常用软件大公开!
  10. [每日前端夜话0xBB]