Android 聊天界面背景图片被输入法“顶上去”问题解析

相信做过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>

总结

很多事情看起来容易,将细节各方面做好却不易,大胆假设,小心探索,才能将问题各个击破。看起来很难的问题也不一定很难,或许只是没有找对方法而已。

    原文作者:dongjunkun
    原文地址: https://www.jianshu.com/p/c632fa3e44a1
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞