安卓输入法遮挡输入框的问题经常出现,正确的情况应该是,输入法将输入框以及整个UI顶上去,就像切掉输入法所占的屏幕一样。网上教程很多,实现办法也很多,有大佬记录了整个过程,分享给大家学习,我比较喜欢用第三方UI库QMUI腾讯UI框架实现安卓通知栏沉浸效果,所以这个不是很需要。
AndroidManifest.xml里面对应的activity设置
复制
android:windowSoftInputMode="adjustResize"
在activity的xml根布局设置
复制
android:fitsSystemWindows="true"
为了listview聊天列表的效果,在listview设置
复制
android:transcriptMode="normal"
完整代码
AndroidManifest.xml
复制
<activity android:name=".activity.ChatRoom" android:screenOrientation="portrait" android:windowSoftInputMode="adjustResize"/>
activity的xml根布局和listview
复制
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@color/xmlback" android:fitsSystemWindows="true"> <include android:id="@+id/include" layout="@layout/titlelayout" /> <ListView android:id="@+id/listview" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_above="@+id/botton" android:layout_below="@+id/include" android:background="@color/xmlback" android:divider="@null" android:scrollbars="none" android:transcriptMode="normal"></ListView> <RelativeLayout android:id="@+id/botton" android:layout_width="match_parent" android:layout_height="70dp" android:layout_alignParentBottom="true" android:background="@drawable/hlistvbackwl1"> <RelativeLayout android:layout_width="match_parent" android:layout_height="50dp" android:layout_centerVertical="true" android:layout_marginLeft="10dp" android:layout_toLeftOf="@+id/textsend" android:background="@drawable/ltback"> <EditText android:id="@+id/edittext" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_marginLeft="10dp" android:background="@null" android:hint="输入聊天内容" android:textSize="14dp" /> </RelativeLayout> <TextView android:id="@+id/textsend" android:layout_width="50dp" android:layout_height="50dp" android:layout_alignParentRight="true" android:layout_centerVertical="true" android:gravity="center" android:text="发送" android:textColor="@color/zhucolor" android:textSize="14dp" /> </RelativeLayout> </RelativeLayout>
强烈推荐大家使用QMUI腾讯UI框架来实现,使用简单,不用担心不兼容的情况,腾讯出品,虽然不能说是精品,但比自己写的UI好看多了,哈哈哈。
评论 (0)