文档章节

EditText Keyboard 未解之谜

YougaKing
 YougaKing
发布于 2016/09/29 18:10
字数 603
阅读 39
收藏 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 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 各种杀脑细胞的问题集合

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

晨曦之光
2012/03/09
22
0
Android两层布局,键盘弹出时,底层保持不动,上层顶上去

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

GalaxyBruce
2016/08/12
42
0

没有更多内容

加载失败,请刷新页面

加载更多

Generator-ES6

基本概念 Generator 函数是 ES6 提供的一种异步编程解决方案,语法行为与传统函数完全不同。 Generator 函数有多种理解角度。语法上,首先可以把它理解成,Generator 函数是一个状态机,封装...

简心
18分钟前
2
0
FullCalendar日历插件说明文档

普通显示设置 属性 描述 默认值 header 设置日历头部信息。 如果设置为false,则不显示头部信息。包括left,center,right左中右三个位置,每个位置都可以对应以下不同的配置: title: 显示当...

ada_young
19分钟前
0
0
Redis知识总结--string的内部实现

SDS(Simple Dynamic String) String的数据结构是一个字节数组,但简单的获取数组长度的时间复杂度就是O(n),这对于单线程的redis来讲是不能接受的,因此string在redis中的实现是SDS类,SDS类...

looqy
29分钟前
1
0
SpringBoot开发案例之整合Dubbo分布式服务

前言 在 SpringBoot 很火热的时候,阿里巴巴的分布式框架 Dubbo 不知是处于什么考虑,在停更N年之后终于进行维护了。在之前的微服务中,使用的是当当维护的版本 Dubbox,整合方式也是使用的 ...

Java干货分享
35分钟前
2
0
美团团购订单系统优化记

团购订单系统简介 美团团购订单系统主要作用是支撑美团的团购业务,为上亿美团用户购买、消费提供服务保障。2015年初时,日订单量约400万~500万,同年七夕订单量达到800万。 目标 作为线上S...

Skqing
39分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部