Android 聊天界面背景图片被输入法“顶上去”问题解析
2015-11-12 本文已影响5185人
dongjunkun
相信做过android开发的都知道,当界面中有editText的时候,输入法可能导致把当前界面整个给顶上去,这时候我们只需要在AndroidManifest.xml中给这个Activity添加 android:windowSoftInputMode="adjustPan" 即可解决这问题。
聊天背景的特殊性
聊天界面一般都有输入框的,而且都在底下,我们是需要将整个窗口给“顶上去”的,需要在Manifest文件中添加android:windowSoftInputMode="adjustResize"将输入框顶上去。
输入框和其他布局需要被顶上去,背景图片不能被顶上去?
想了几种办法添加背景图片:
1、给listVew设置背景,倒是没有被顶上去,背景图片严重变形,很快否定了这种方案。
2、使用ImageView设置src属性图片(设置background一样会变形),其他的布局(表情,语音,其他功能键)显示隐藏背景图片都不存在问题,输入文字弹出输入法的时候背景图片还是一样被顶回去。
3、在ImageView外面套一层ScrollView,哈哈,问题解决了
<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView
android:id="@+id/bg_img"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:scaleType="centerCrop"
android:src="@drawable/background_iamge"/>
</ScrollView>
总结
很多事情看起来容易,将细节各方面做好却不易,大胆假设,小心探索,才能将问题各个击破。看起来很难的问题也不一定很难,或许只是没有找对方法而已。