`
xlover
  • 浏览: 244975 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Android中解决输入法问题

 
阅读更多
在开发中,必不可少的会使用到文本框(EditText)来进行数据录入,也就会需要对输入法进行一些控制。

先看下LAYOUT定义文件中的和输入法有关的属性:

属性名



说明

android:inputType



指定输入法的类型,int类型,可以用|选择多个。取值可以参考:android.text.InputType类。取值包括:text,
  textUri, phone,number,等。

android:imeOptions



指定输入法窗口中的回车键的功能,可选值为normal,
  actionNext,actionDone,actionSearch等。部分输入法对此的支持可能不够好。

下面的LAYOUT定义文件举了一些例子说明inputType和imeOptions的使用。

<EditText
android:id="@+id/textNormal"

android:layout_width="fill_parent"
android:layout_height="wrap_content"

android:hint="Normal
text"

android:inputType="text"

android:imeOptions="actionNext"

/>

<EditText
android:id="@+id/textInteger"

android:layout_width="fill_parent"
android:layout_height="wrap_content"

android:hint="Integer
only"

android:inputType="number"

android:imeOptions="actionNext"

/>

<EditText
android:id="@+id/textPhone"

android:layout_width="fill_parent"
android:layout_height="wrap_content"

android:hint="Phone
number"

android:inputType="phone"

android:imeOptions="actionNext"

/>

<EditText
android:id="@+id/textEmail"

android:layout_width="fill_parent"
android:layout_height="wrap_content"

android:hint="Email"

android:imeOptions="actionSend"

android:inputType="textEmailAddress"

/>

<EditText
android:id="@+id/textSite"

android:layout_width="fill_parent"
android:layout_height="wrap_content"

android:hint="Web
Site"

android:imeOptions="actionDone"

android:inputType="textUri"

/>


有时候也要对intent的默认焦点进行设置,不至于在intent跳转的时候默认焦点(光标)在EditText上,导致进入intent就打开输入法,影响界面美观。

默认焦点的顺序是:从上倒下
从左到右第一个可以输入的控件作为焦点

可以使用:

button.setFocusable(true);

button.requestFocus();

button.setFocusableInTouchMode(true);

也可以:

在EditText前面放置一个看不到的LinearLayout,让他率先获取焦点:
<LinearLayout
android:focusable="true"
android:focusableInTouchMode="true"
android:layout_width="0px"
android:layout_height="0px"/>


分享到:
评论

相关推荐

    Android Studio 3.0及中文输入法不显示的问题解决

    这个问题的根本原因在于Android Studio 3.0中对编辑器组件的某些改动,这些改动可能与某些中文输入法的插件存在兼容性冲突。解决这个问题的方法通常有以下几种: 1. **尝试其他输入法**:首先,你可以尝试更换其他...

    android stuidio 3.0输入法不提示解决问题

    4. **验证问题解决**:启动Android Studio后,尝试在编辑器中输入,看看输入法是否能正常弹出并提供提示。如果问题得到解决,那么问题就出在之前的JRE上,现在已通过替换解决。如果问题依旧,可能需要进一步排查其他...

    android 布局被输入法遮挡的解决办法

    在Android开发过程中,一个常见的问题是在用户打开软键盘或实体输入法时,应用程序的布局会被键盘遮挡,导致部分UI无法正常显示。这种情况通常出现在需要输入文本的界面,如登录、注册、评论等场景。本篇文章将深入...

    android 全键盘输入法源码

    在实践中,你可能还会遇到性能优化、适配不同屏幕尺寸和方向、支持多种语言等问题,这些都是进一步提升输入法体验的关键点。 总的来说,"android 全键盘输入法源码"的学习涵盖了Android系统服务、UI设计、事件处理...

    android studio3.0输入法卡顿问题解决

    解决输入法卡顿问题,可以从以下几个方面着手: 1. **优化Android Studio设置**: - **降低字体大小**:尝试降低代码编辑器的字体大小,这可能有助于减少渲染负载。 - **禁用实时代码分析**:在设置中关闭实时...

    Android Studio3.0输入法卡顿替换包

    2. 下载与你的操作系统相匹配的、经过验证能解决输入法卡顿问题的JRE版本。 3. 找到Android Studio安装目录下的"jre"文件夹,通常位于`&lt;Android Studio安装路径&gt;\jre`。 4. 关闭所有正在运行的Android Studio实例。 ...

    Android中文输入法实现-杨武

    IMF即输入方法框架(Input Method Framework),它是Android系统中用于管理输入法的核心组件。了解其结构对于开发自定义输入法至关重要。IMF的架构涉及多个层次,包括但不限于`android.view.ViewRoot`和`...

    android EditText禁止输入法表情

    为了解决这个问题,你可以使用第三方库,如`EmojiCompat`,它提供了对Android系统表情的广泛支持。或者,你也可以根据具体需求,更新`isEmojiCharacter`方法中的表情Unicode范围,确保尽可能多的表情被过滤。 以上...

    解决android studio3.0 输入法的 jre

    下载并替换现有JRE,或者按照压缩包内的说明进行操作,也可能有效解决输入法卡顿的问题。 总的来说,解决Android Studio 3.0输入法卡顿的关键在于优化JRE环境,调整IDE配置,以及排查可能的软件冲突。通过这些步骤...

    Xmarin android完美解决输入法遮住控件

    在Xamarin Android应用开发中,有时会...以上就是如何在Xamarin Android开发中解决输入法遮挡控件的问题,以及如何实现对同一控件不同位置的点击事件处理。通过这些技术,你可以创建更流畅、用户体验更好的应用程序。

    Android处理输入法隐藏后不再显示问题

    在Android开发过程中,有时会遇到一个常见的问题:输入法在被隐藏后无法再次显示。这个问题主要出现在用户与应用交互时,比如点击一个EditText输入框触发输入法弹出,然后通过程序逻辑或者用户操作隐藏了输入法,但...

    Android之输入法开发简单说明.pdf

    6. 输入视图(InputView)与候选视图(CandidatesView):在自定义输入法中,InputView是用户进行输入的主要界面,而CandidatesView则是用于呈现可能的单词校正或完成选项。输入法开发者可以决定是否实现CandidatesView...

    android 输入法键盘弹出与否判断和输入法键盘弹出时将界面滚动到指定位置demo

    这个"android 输入法键盘弹出与否判断和输入法键盘弹出时将界面滚动到指定位置demo"着重于解决两个关键问题:一是检测输入法键盘是否弹出,二是当键盘弹出时如何自动调整界面布局以确保重要内容可见。 首先,我们要...

    android控制输入法是否隐藏

    总结来说,这个Demo提供了处理Android输入法显示和隐藏问题的解决方案,包括防止输入法自动弹出、控制自定义输入法行为以及在操作过程中提供反馈。通过学习和应用这些方法,开发者可以更好地控制应用程序与输入法的...

    Android studio3.0和搜狗输入法冲突解决

    总的来说,Android Studio 3.0与搜狗输入法的冲突是开发者在日常工作中可能遇到的一种常见问题,通过正确的资源替换和操作,我们可以有效地解决这个问题,保证开发过程的顺畅。同时,这也提醒我们在使用各种工具和...

    华为Android输入法详细设计

    这份“华为Android输入法详细设计”涵盖了输入法的各个方面,旨在提供一个流畅、智能化的输入解决方案。 首先,华为Android输入法的设计考虑了多种语言支持,包括但不限于中文、英文以及各种国际语言,满足全球用户...

    Android studio 3.0输入法卡顿

    描述中提到的解决方案是替换C:\Program Files\Android\Android Studio下的jre文件夹,这可能是为了更新或替换原有的JRE版本,以解决潜在的兼容性或性能问题。 步骤如下: 1. 首先,下载一个兼容且性能良好的JRE...

    Android输入法显示与隐藏的对布局的影响

    在Android应用开发中,输入法的显示和隐藏经常会带来一些布局上的挑战,特别是当用户在屏幕上进行多步骤操作,如登录界面中填写用户名和密码时。这个问题的核心在于,当软键盘弹出时,屏幕可用的空间会显著减小,...

    android studio3.0 输入法卡顿解决包(包含使用方法)

    通过上述方法,你应该能够解决Android Studio 3.0中输入法卡顿和文字显示不全的问题。在日常开发中,保持良好的系统维护习惯,及时更新软件,以及选择与开发环境兼容的输入法,都将有助于提升开发效率和用户体验。

Global site tag (gtag.js) - Google Analytics