Android View如何获取焦点

摘要:
当Android启动新活动时,默认情况下,新启动的活动的焦点是EditText。这意味着Android系统将弹出一个软键盘。最好在onCreate()方法中关注另一个视图。视图使用requestFocus()焦点。但是,如果按钮或textView等控件直接使用requestFocus()方法,则无法获得焦点。

Android新启动Activity,dialog或者其他窗体中中包含EditText, 新启动的activity的焦点默认在EditText上,这是android系统会弹出软键盘,挤压activity本来的界面,影响美观。

      因此最好在新窗体创建时,最好在onCreate()方法中将焦点放在另一个view上.  view使用requestFocus()焦点,但是如果让button或者textView之类控件直接使用requestFocus()方法,则无法获取焦点,焦点会依然在editText上。

      只能在使用View的requestFocus()方法之前调用下面2个方法,view才可获取焦点:

    view.setFocusable(true);

    view.setFocusableInTouchMode(true);

  然后调用 requestFocus()即可获取焦点。

免责声明:文章转载自《Android View如何获取焦点》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇一个asp.net MVC 的分页代码微信小程序的网络设置,及网络请求:wx.request(OBJECT)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Invoke()方法的使用

在多线程编程中,我们经常要在工作线程中去更新界面显示,而在多线程中直接调用界面控件的方法是错误的做法,Invoke 和 BeginInvoke 就是为了解决这个问题而出现的,使你在多线程中安全的更新界面显示。 正确的做法是将工作线程中涉及更新界面的代码封装为一个方法,通过 Invoke 或者 BeginInvoke 去调用,两者的区别就是一个导致工作线程等...

Python获取list中指定元素的索引

在平时开发过程中,经常遇到需要在数据中获取特定的元素的信息,如到达目的地最近的车站,橱窗里面最贵的物品等等。怎么办?看下面 方法一: 利用数组自身的特性 list.index(target), 其中a是你的目标list,target是你需要的下标对应的值 1 li = [10,8,9,26,72,6,28] 2 print(li.index(8)) 但是,...

phpstorm快捷键

phpstorm快捷键: // ctrl+shift+n 查找文件 // ctrl+j 插入活动代码提示 // ctrl+alt+t 当前位置插入围绕代码 // alt+insert 生成代码菜单 // ctrl+q 查看代码凝视 // ctrl+d...

Tornado web 框架

Tornado web 框架 其实很简单、深度应用一、简介     Tornado 是 FriendFeed 使用的可扩展的非阻塞式 web 服务器及其相关工具的开源版本。这个 Web 框架看起来有些像web.py 或者 Google 的 webapp,不过为了能有效利用非阻塞式服务器环境,这个 Web 框架还包含了一些相关有用工具及优化。     Tor...

Android 的窗口管理系统 (View, Canvas, WindowManager)

http://blog.csdn.net/ritterliu/article/details/39295271 From漫天尘沙 在图解Android - Zygote 和 System Server 启动分析一 文里,我们已经知道Android 应用程序是怎么创建出来的,大概的流程是 ActivityManagerService -> Zygote...

CLR寄宿(上) MSCOREE.DLL

CLR寄宿(上) MSCOREE.DLL托管代码调用非托管代码,.NET提供了P/Invoke(平台调用)方式,它作为.NET的基础出现在各类书籍和网络资源上,这里不再讨论。那么非托管代码如何去调用托管代码呢?我们知道,一个托管应用程序首先被操作系统启动,然后由操作系统调用CLR来托管该程序。那么.NET框架到底以什么方式让操作系统来认识它并且可以启动它呢...