在启动Activity时,如何隐藏输入法

来源:互联网 发布:阿里云 服务器托管 编辑:程序博客网 时间:2024/05/20 18:17

更新于20140110 现在最常用的解决方法是 在布局的获取焦点的元素前面加上这段

<LinearLayout    android:focusable="true" android:focusableInTouchMode="true"    android:layout_width="0px" android:layout_height="0px"/>

==============================================

一开始以为这个问题很好解决,没想到研究了半天,都没找到解决方法

问题:

I have an Android Activity, with two elements:

  1. EditText
  2. ListView

When my Activity starts, the EditText immediately has input focus (flashing cursor). I don't want any control to have input focus at startup. 

解决方法:

http://stackoverflow.com/questions/1555109/stop-edittext-from-gaining-focus-at-activity-startup


Exist more simple solution. Set in your parent layout next attributes:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"android:id="@+id/mainLayout"android:descendantFocusability="beforeDescendants"android:focusableInTouchMode="true" >

And now, when activity starts this layout getting default focus.

Also we can remove focus from children views in runtime (e.g. after finishing child editing):

findViewById(R.id.mainLayout).requestFocus();

原创粉丝点击