安卓软键盘上顶布局

将需要顶上去的内容添加一个ScrollView布局
<ScrollView
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:scrollbars="none" 
    >
    …… 需要被顶上去的内容 ……
</ScrollView>

先说下关于ScrollView,ScrollView下面的子布局设置match_parent属性会失效,只需在ScrollView中添加

android:fillViewport="true"
当子view小于父view时,子view会占满父view。

接着设置Activity 的  android:windowSoftInputMode="adjustResize"
windowSoftInputMode有如下属性:

stateUnspecified:软键盘的状态并没有指定,系统将选择一个合适的状态或依赖于主题的设置

stateUnchanged:当这个activity出现时,软键盘将一直保持在上一个activity里的状态,无论是隐藏还是显示

stateHidden:用户选择activity时,软键盘总是被隐藏

stateAlwaysHidden:当该Activity主窗口获取焦点时,软键盘也总是被隐藏的

stateVisible:软键盘通常是可见的

stateAlwaysVisible:用户选择activity时,软键盘总是显示的状态

adjustUnspecified:默认设置,通常由系统自行决定是隐藏还是显示

adjustResize:该Activity总是调整屏幕的大小以便留出软键盘的空间

adjustPan:当前窗口的内容将自动移动以便当前焦点从不被键盘覆盖和用户能总是看到输入内容的部分


网上说还会出现以下情况:
就是有些机型会出现点击过 EditView 它获得了焦点也弹出了软键盘,
但是收回软键盘后,再点击该 EditView 会出现被软键盘遮挡的情况,
点其它 EditView 后,再来点该 EditView 又恢复正常不再被遮挡,
为了解决此问题见如下:
但是去掉 ScrollView 的 android:scrollbars="none" 属性后问题就解决了!
但会出现滚动条,所以这个属性不能去掉,
只需在 Activity 的 onCreate 事件处理函数中的 setContentView 方法后紧跟着写上
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);即可。
————————————————
版权声明:本文为CSDN博主「fan_zyf」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/fan_zyf/article/details/72769892

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值