最近项目中遇到一个需求:新手引导。跟一般的新手引导没有什么太大区别,思路都是搞一个带阴影的遮罩层,然后在上边儿给一些提示性的文字,由于需求中有些特殊的地方,所以我用了一个全屏的dialog(而且,dialog自带阴影效果)来做新手引导这个需求。
弹出键盘
键盘上方具体位置显示引导
这个需求中有两个地方需要考虑:
1. Dialog的布局要适应软键盘的弹起
2. 软键盘弹起和收下的时候都会有不同的引导,所以要在Dialog上监听软键盘的弹起。
需求的解决
一、适应键盘的弹起
我们知道,在Activity中如果要让布局不被软键盘遮挡,方法一般是在清单文件中配置windowSoftInputMode属性, windowSoftInputMode是Android1.5以后的一个新特性,主要是对软键盘操作的,主要有以下属性:
stateUnspecified:软键盘的状态并没有指定,系统将选择一个合适的状态或依赖于主题的设置
stateUnchanged:当这个activity出现