Android 输入法遮挡问题
在Android系统中,由于手机屏幕大小的限制,一般需要字符输入的时候,弹出的输入法面板往往会占据大半个屏幕,如果输入框正好在下方,那经常会出现被输入法面板遮挡的尴尬,给使用者带来不小的困扰,用户体验很不友好。
查了一下Android SDK的说明,发现可以通过设置Activity的一个属性来解决这个问题,比如可以在AndroidManifest.xml中这样写:
java代码:
- < activity android:name=”.CategoryList”
- android:label=”@string/app_name”
- android:windowSoftInputMode=”stateVisible|adjustPan” >
- < /activity >
复制代码
这里面的android:windowSoftInputMode就是用来避免输入法面板遮挡问题的,具体的参数说明可参考SDK文档,但是,文档中说明,该属性是Android 1.5之后才加上的,也就是API Level 3以后的SDK才支持,那么如果在联想O1这样的机器上就不管用了,则该怎么办呢?好在我又找到了另外一种解决办法,就是ScrollView。我们可以在对应的layout XML的顶级元素上加一层ScrollView,这样,在这个ScrollView中,所有的文本框在输入法面板弹出的时候都会自动的向上滚动,示例代码如下:
java代码:
- < ScrollView xmlns:android=”http://schemas.android.com/apk/res/android “
- android:layout_width=”fill_parent”
- android:layout_height=”fill_parent” >
- < LinearLayout android:orientation=”vertical”
- android:layout_width=”fill_parent”
- android:layout_height=”fill_parent” >
- < EditText android:id=”@+id/content”
- android:layout_width=”fill_parent”
- android:layout_height=”wrap_content”
- android:lines=”4″
- android:scrollbars=”vertical”
- android:gravity=”fill_horizontal” / >
- < /LinearLayout >
- < /ScrollView >
Android 输入法遮挡问题的更多相关文章
- Android输入法遮挡了输入框,使用android:fitsSystemWindows="true"后界面顶部出现白条解决方案
我的最外层是LinearLayout,自定义CustomLinearLayout继承LinearLayout,重写fitSystemWindows和onApplyWindowInsets两个方法: p ...
- 防止UI界面被输入法遮挡(画面随输入法自适应)
应用过Android手机的朋友都知道,有时候在文本框中输入文字后,操作按钮被输入法遮挡了,不得不关闭输入法才可以继续操作. 比如下面这个画面: 画面布局: <?xmlversion=" ...
- Android输入法架构学习总结
此文为本人学习输入法之后所做的一个总结报告.与大家分享. 安卓输入法框架(Input Method Framework)IMF 一.输入法框架简介 自Android平台1.5版本以后,Google开放 ...
- 写一个Android输入法02——候选窗、转换
上一篇介绍了完成Android输入法的最小化步骤,它只能将按键对应的字符上屏.一般的东亚语言都有一个转换的过程,比如汉语输入拼音,需要由拼音转成汉字再上屏.本文将在前文基础上加入完成转换过程所必需的候 ...
- 写一个Android输入法01——最简步骤
本文演示用Android Studio写一个最简单的输入法.界面和交互都很简陋,只为剔肉留骨,彰显写一个Android输入法的要点. 1.打开Android Studio创建项目,该项目和普通APP的 ...
- Android输入法扩展之远程输入法
近年来,互联网电视開始火热,乐视TV,小米TV,近期爱奇艺也在大肆的招人做爱奇艺电视.当然还有更被关注的苹果电视.事实上,这个趋势非常正常,也非常合理,传统单纯的接收电视节目的电视已经太传统了.是该被 ...
- Android 输入法截取key优先于view
为了验证编写了个例子 首先是输入法 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 public class RemoteKeyboard exte ...
- Android 输入法键盘和activity页面遮挡问题解决
本文主要介绍Android中如何解决输入法键盘和activity页面遮挡的问题. 总结: 不希望遮挡设置activity属性android:windowSoftInputMode="adju ...
- Android EditText在ScrollView中被输入法遮挡
千言万语不如一张图来的实在,问题如下GIF图所示[输入框被输入法挡住了]: 为了不让底部的按钮随着输入法一起起来,我把windowSoftInputMode设置为adjustPan. <acti ...
随机推荐
- linux命令(44):sed,vim;去掉文件中的^M 符号,去掉行首空格和制表符
注:下面的直接粘贴会出错,要重新输入^M 如何输入^M,先 ctrl+v,然后 ctrl+m 第一种方法: cat -A filename 就可以看到windows下的断元字符 ^M要去除他,最简单用 ...
- MyBean-关于单实例插件
单实例插件可以通过两个途径实现 第一个在注册时注册成单实例 beanFactory.RegisterBean(pvPluginID: String; pvClass: TClass; pvSi ...
- win8共享文件设置 详细教程
1.开放防火墙445端口 2.进入组策略,依次进入 从网络访问计算机 属性里--添加-Guest 3.进入 然后把里面的用户清空 4.打开网络和共享中心,关闭密码保护共享
- win7 LR11.0 启动controller报:Failed to create Online:无效指针
win7 LR11.0 启动controller报:Failed to create Online:无效指针 运行lr setup.exe 进行修复后问题解决 修复完成后,覆盖lr安装目录“bin”文 ...
- Nvidia显卡安装驱动
首先要知道需要安装哪个类型的显卡驱动,可以使用如下指令查看 sudo add-apt-repository ppa:graphics-drivers在#current那一栏中找到显卡驱动型号,使用的是 ...
- 针对后台TCP服务F5健康检查配置
1.TCP-HALF-OPEN方式 TCP-HALF-OPEN的探测方式,实际是F5每隔一个固定的时间,发送一个SYN包给资源池pool中的一个member,等待服务器返回SYN_ACK,在收到SYN ...
- JAVA-JSP内置对象之application对象
相关资料:<21天学通Java Web开发> application对象1.application对象用来取得和设置Servlet的相关信息.2.application对象的生命周期是从服 ...
- 2. 决策树(Decision Tree)-ID3、C4.5、CART比较
1. 决策树(Decision Tree)-决策树原理 2. 决策树(Decision Tree)-ID3.C4.5.CART比较 1. 前言 上文决策树(Decision Tree)1-决策树原理介 ...
- ADO.NET 实体数据模型 异常-“序列化类型为 XX 的对象时检测到循环引用”
发生异常的代码如下: 1: public JsonResult GetSaleByNo1(string id) 2: { 3: SaleMvcUI.Helper.saleDBEntities sale ...
- 在分布式系统里看CAP定理
本文转自:http://zhuanlan.51cto.com/art/201703/534587.htm 计算机界有很多高大上又难于理解的术语,CAP就是其中之一, 什么一致性(Consistency ...