文档章节

EditText Keyboard 未解之谜

YougaKing
 YougaKing
发布于 2016/09/29 18:10
字数 603
阅读 42
收藏 0

项目中需要一个提现功能,EditText 输入一些必要的信息

太简单了对吧,EditText 获取焦点时,弹出键盘,输入框至于键盘之上。首先manifest文件注册activity 设置

windowsSoftInputMode="adjustPan|stateHidden",

adjustPan 该Activity主窗口并不调整屏幕的大小以便留出软键盘的空间。相反,当前窗口的内容将自动移动以便当前焦点从不被键盘覆盖和用户能总是看到输入内容的部分。这个通常是不期望比调整大小,因为用户可能关闭软键盘以便获得与被覆盖内容的交互操作。
stateHidden 当用户选择该 Activity时,软键盘被隐藏——也就是,当用户确定导航到该 Activity时,而不是返回到它由于离开另一个 Activity

页面代码如下

                <LinearLayout
                    ...>
                    <TextView
                        ...
                        android:text="持卡人"/>
                    <EditText
                       ...
                        android:gravity="center_vertical|right"
                        android:hint="持卡人姓名"/>
                </LinearLayout>
                <LinearLayout
                    ...>
                    <TextView
                        ...
                        android:text="银行卡号"/>
                    <EditText
                        ...
                        android:gravity="center_vertical|right"
                        android:hint="银行卡号"
                        android:inputType="number"/>
                </LinearLayout>
                <LinearLayout
                    ...>
                    <TextView
                        ...
                        android:text="银行类型"/>
                    <EditText
                        ...
                        android:gravity="center_vertical|right"
                        android:hint="如工商银行">
                </LinearLayout>
                <LinearLayout
                    ...>
                    <TextView
                        ...
                        android:text="开户支行"/>
                    <EditText
                        ...
                        android:gravity="center_vertical|right"
                        android:hint="银行卡开户行支行信息"/>
                </LinearLayout>

四个EditText,文件要显示在右边所以gravity="center_vertical|right",其中银行卡只是输入数字,故inputType="number"。实际效果如下。

当输入银行卡号,键盘弹起时,键盘并不是每一次都会把EditText顶起来。只有从另外一个EditText焦点切换回来时弹出键盘才能顶起,如果此时焦点处于此EditText之上,想修改信息时,无奈键盘挡住内容只能盲写,太瞎了。而另外三个EditText为何不会出现这样的情况呢?他们之间的差异仅仅时inputType 不同。而我注释掉inputType="number",果然神奇的每次都顶起来了。那么仅仅时inputType造成的吗?,此时我把gravity="center_vertical|right"注释掉,inputType="number"保持不变

    <EditText
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@drawable/edit_text"
        android:hint="NUMBER"
        android:inputType="number"/>

键盘同样每次都可以顶起EditText。此时我的结论如下:(当EditText grivaty="right" input="number" 时,无法保证每次键盘弹起时,EditText都置于键盘之上。ps其它情况请自行测试)。可是实际的情况并不是这样,

© 著作权归作者所有

共有 人打赏支持
YougaKing
粉丝 6
博文 7
码字总数 6795
作品 0
西安
程序员
私信 提问
android Configuration系统设置

Configuration类是专门用来描述手机设备上的配置信息。这些配置信息包括用户特定的配置项,也包括系统的动态设备配置。 程序中可调用Activity的如下方法来获取Configuration对象 //获取系统的...

张林思密达
2015/08/19
0
0
Android聊天背景图片变形解决方案

Android聊天背景图片变形,一般是由于键盘引起的(这个是自己调戏糖宝app中出现的问题,今天抽时间解决下)。可以参看StackOverFlow解决的地址:http://stackoverflow.com/questions/530726...

火龙战士
2015/09/28
549
0
Android 各种杀脑细胞的问题集合

1. EditText KeyBoard, 遮挡问题 http://unicorn25.iteye.com/blog/916504 如果ListView出现, 又需要这样解决了: http://www.oschina.net/question/163910_27133 原文链接:http://blog.csd......

晨曦之光
2012/03/09
23
0
Android NumberPickerDialog

参考1:http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android-apps/2.0r1/com/android/mms/ui/NumberPickerDialog.java?av=h 参考2:http://blog.csdn.ne......

当空皓月
2015/04/15
0
0
Android两层布局,键盘弹出时,底层保持不动,上层顶上去

参考项目KeyboardVisibilityEvent 1、AndroidManifest.xml中activity不设置android:windowSoftInputMode属性或者设置为adjustUnspecified 2、修改过后的KeyboardVisibilityEvent代码 3、布局......

GalaxyBruce
2016/08/12
42
0

没有更多内容

加载失败,请刷新页面

加载更多

jquery

语法 描述 实例 $("*") 选取所有元素 在线实例 $(this) 选取当前 HTML 元素 在线实例 $("p.intro") 选取 class 为 intro 的 <p> 元素 在线实例 $("p:first") 选取第一个 <p> 元素 在线实例 ...

mskk
16分钟前
1
0
微信红包设计方案

前言 微信红包一经推出,春节期间微信用户红包总发送量达80.8亿,红包峰值40.9w/秒,在如此量级下,系统设计存在各种变数,稍有闪失会功亏一篑。 红包系统 红包系统有三部分组成:信息流,业...

春哥大魔王的博客
27分钟前
1
0
微信开发-正式号的配置

1、设置相关 业务域名的设置(不设置的话,相关页面会显示防欺诈盗号信息提示) JS接口安全域名设置 网页授权域名设置 注意:以上三个设置中都有下载文件的提示,此文件内容一样,下载一个即可...

Code辉
32分钟前
1
0
微服务之Eureka服务发现

当调用API或者发起网络通信的时候,无论如何我们都要知道被调用方的IP和服务端口,大部分情况是通过域名和服务端口,事实上基于DNS的服务发现,因为DNS缓存、无法自治和其他不利因素的存在,...

架构师springboot
32分钟前
0
0
spring boot2 admin login

版本: admin server 配置 admin client 配置 参考资料

showlike
34分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部