android如何让布局保持位于键盘上方(一直在键盘上面)
2017-10-17 15:58
197 查看
在实际项目中,肯定会有输入数据的情况,这样就会用到键盘。
但是键盘弹起必然会遮盖掉屏幕下半部分的布局。
比如说一个登陆界面,账号、密码的输入框在最上面,登陆、取消按钮在下方,当用户点击输入账号时,就有可能把最底下的按钮遮住,甚至会把密码框也遮住导致不能直接切换到密码输入框。这样用户使用起来是不是特别别扭呢?
解决方法:
在manifest文件中的activity标签中修改android:windowSoftInputMode属性
属性参数:
各值的含义:
【A】stateUnspecified:软键盘的状态并没有指定,系统将选择一个合适的状态或依赖于主题的设置
【B】stateUnchanged:当这个activity出现时,软键盘将一直保持在上一个activity里的状态,无论是隐藏还是显示
【C】stateHidden:用户选择activity时,软键盘总是被隐藏
【D】stateAlwaysHidden:当该Activity主窗口获取焦点时,软键盘也总是被隐藏的
【E】stateVisible:软键盘通常是可见的
【F】stateAlwaysVisible:用户选择activity时,软键盘总是显示的状态
【G】adjustUnspecified:默认设置,通常由系统自行决定是隐藏还是显示
【H】adjustResize:该Activity总是调整屏幕的大小以便留出软键盘的空间
【I 】adjustPan:当前窗口的内容将自动移动以便当前焦点从不被键盘覆盖和用户能总是看到输入内容的部分
还有一种情况。你单纯想将原本靠在屏幕底部的按钮、文字、图片、布局之类的控件不被键盘遮住,想它们跟着键盘上下移动。
解决方法:
其实很简单。xml中给控件添加属性alignParentBottom = true;在显示键盘和隐藏键盘方法中添加方法view.requestLayout();
这样view就会跟着键盘移动了。
有用点个赞~
但是键盘弹起必然会遮盖掉屏幕下半部分的布局。
比如说一个登陆界面,账号、密码的输入框在最上面,登陆、取消按钮在下方,当用户点击输入账号时,就有可能把最底下的按钮遮住,甚至会把密码框也遮住导致不能直接切换到密码输入框。这样用户使用起来是不是特别别扭呢?
解决方法:
在manifest文件中的activity标签中修改android:windowSoftInputMode属性
属性参数:
各值的含义:
【A】stateUnspecified:软键盘的状态并没有指定,系统将选择一个合适的状态或依赖于主题的设置
【B】stateUnchanged:当这个activity出现时,软键盘将一直保持在上一个activity里的状态,无论是隐藏还是显示
【C】stateHidden:用户选择activity时,软键盘总是被隐藏
【D】stateAlwaysHidden:当该Activity主窗口获取焦点时,软键盘也总是被隐藏的
【E】stateVisible:软键盘通常是可见的
【F】stateAlwaysVisible:用户选择activity时,软键盘总是显示的状态
【G】adjustUnspecified:默认设置,通常由系统自行决定是隐藏还是显示
【H】adjustResize:该Activity总是调整屏幕的大小以便留出软键盘的空间
【I 】adjustPan:当前窗口的内容将自动移动以便当前焦点从不被键盘覆盖和用户能总是看到输入内容的部分
还有一种情况。你单纯想将原本靠在屏幕底部的按钮、文字、图片、布局之类的控件不被键盘遮住,想它们跟着键盘上下移动。
解决方法:
其实很简单。xml中给控件添加属性alignParentBottom = true;在显示键盘和隐藏键盘方法中添加方法view.requestLayout();
这样view就会跟着键盘移动了。
有用点个赞~
相关文章推荐
- android 如何让文本框置于键盘上面
- Android如何制作漂亮的自适布局的键盘
- android 如何让edittext出现在键盘的最上方
- Android如何保持程序一直运行 (让屏幕常亮且停在当前程序界面)
- Android布局:保持在底部的按钮栏,上面是滚动的ScrollView的实现方式
- Android Fragment 中自定义键盘如何调整布局,不挡住界面控件
- Android是一个针对触摸屏专门设计的操作系统,当点击编辑框,系统自动为用户弹出软键盘,以便用户进行输入。 那么,弹出软键盘后必然会造成原有布局高度的减少,那么系统应该如何来处理布局的减少
- 【Android动态布局】之【使用addView方法时,如何保持已有动态控件位置不被改变】
- 如何把android中布局文件(.xml)与相关的类(.java)进行关联?
- android布局中如何把include布局隐藏掉的方法
- Android 解决输入法键盘遮盖布局问题,程序员不得不用的方案,快捷!
- 在android设计中,如何在有限的界面上做布局
- Android软键盘弹出时把布局顶上去的解决方法
- Android Honeycomb加载键盘布局文件过程
- Android Honeycomb加载键盘布局文件过程
- Android如何保持屏幕常亮
- android学习之布局(如何动态加入其它xml文件中的控件)
- Android 软键盘弹出时布局内指定内容上移实现及问题解决
- Android解决软键盘弹出将布局顶到上面
- android客户端通过webServcie与服务器交互,如何保持Session