让代码更简单

Android仿QQ微信顶起防止输入法遮档输入框

重要:本文最后更新于2022-11-08 19:25:01,某些文章具有时效性,若有错误或已失效,请在下方留言或联系代码狗

安卓输入法遮挡输入框的问题经常出现,正确的情况应该是,输入法将输入框以及整个UI顶上去,就像切掉输入法所占的屏幕一样。网上教程很多,实现办法也很多,有大佬记录了整个过程,分享给大家学习,我比较喜欢用第三方UI库QMUI腾讯UI框架实现安卓通知栏沉浸效果,所以这个不是很需要。

Android仿QQ微信顶起防止输入法遮盖输入框

Android仿QQ微信顶起防止输入法遮盖输入框

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好看多了,哈哈哈。

感觉很棒!可以赞赏支持我哟~

3 打赏

评论 (0)

登录后评论
QQ咨询 邮件咨询 狗哥推荐