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

更新于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();

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Android输入法切换引导功能通常指的是在用户首次安装并启用输入法应用,系统会自动弹出一个输入法切换引导界面,提示用户如何在输入切换不同的输入法。 具体实现方法可以参考以下步骤: 1. 在输入法应用的 AndroidManifest.xml 文件中,添加以下代码: ``` <activity android:name=".InputMethodSettingsActivity"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.SHOW_INPUT_METHOD_PICKER" /> </intent-filter> </activity> ``` 2. 创建一个名为 InputMethodSettingsActivityActivity,并在其中实现输入法切换引导功能的逻辑。 3. 在 Activity 的 onCreate 方法中,获取系统输入法管理器 InputMethodManager,并调用其 showInputMethodPicker 方法,显示输入法选择界面。 ``` InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); imm.showInputMethodPicker(); ``` 4. 在 Activity 的 onResume 方法中,判断当前是否为首次启动输入法应用,如果是,则调用 showInputMethodPicker 方法显示输入法选择界面。同,将一个标志位设置为已启动过,以便下次进入应用不再弹出引导界面。 ``` private boolean mIsFirstLaunch = true; @Override protected void onResume() { super.onResume(); if (mIsFirstLaunch) { InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); imm.showInputMethodPicker(); mIsFirstLaunch = false; } } ``` 通过以上步骤,就可以实现 Android 输入法切换引导功能了。需要注意的是,在实现过程中,还需要处理用户选择输入法后的回调逻辑,并在应用中提供方便用户切换输入法的方式,以提高用户体验。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值