camera中,软键盘遮挡问题

最近开发一个功能能够,需要在gallery和camera应用中使用到一个界面(继承photopage),点击该界面中的editview,软键盘弹出时遮挡了控件。

1、在androidmanifest.xml中 <activity android:name="com.android.gallery3d.app.GalleryActivity" 下添加android:windowSoftInputMode="adjustResize"。 gallery 中问题可以解决。 

2、如果从camera中 gallery 缩略图进入gallery,还是有遮挡问题。

3、adjustResize在全屏的时候属性失效。

正常情况设置 getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN| WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE ); 

软键盘遮挡问题依旧。 

如果我们 getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);  不遮挡了,但是软键盘一闪而过。

看来 “adjustResize在全屏的时候属性失效”,网上说 这个可能是android的一个bug。

4、解决方法: 看来只能重新layout。

在外层加入ScrollView 或者 干脆重新设计。


WindowManager.LayoutParams.

SOFT_INPUT_ADJUST_PAN

软键盘直接覆盖Activity,通常这是默认值

WindowManager.LayoutParams.

SOFT_INPUT_ADJUST_RESIZE

Activity高度会变化,让出软键盘的空间。

和WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN 为2选1的值

WindowManager.LayoutParams.

SOFT_INPUT_STATE_VISIBLE

Activity一打开就直接显示软键盘窗口,如果该窗口需要的话(

即有EditText,或有Editable的控件)

WindowManager.LayoutParams.

SOFT_INPUT_STATE_HIDDEN

Activity打开后并不直接显示软键盘窗口,直到用户自己touch文本框。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值