我阅读了很多与此项目相关的主题,但没有一个能解决我的问题。这是我的聊天屏幕的布局:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/chatPage"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/speech_bg" >
<include
android:id="@+id/chatHeader"
layout="@layout/header_chat" />
<RelativeLayout
android:id="@+id/chatView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@+id/chatHeader" >
<RelativeLayout
android:id="@+id/chatBottomView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:background="@drawable/speech_text_bg"
android:padding="5dp" >
<RelativeLayout
android:id="@+id/chatSendButton"
android:layout_width="@dimen/chatSendButtonWidth"
android:layout_height="@dimen/chatSendButtonHeight"
android:layout_alignBottom="@+id/chatEditText"
android:layout_alignParentRight="true"
android:layout_marginLeft="5dp"
android:background="@drawable/chat_send_btn_selector"
android:onClick="ChatSendButtonClick" >
<com.xxx.Utils.MyTextView
xmlns:customtext="http://schemas.custom.com/android/customtext"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:text="@string/chatSendText"
android:textColor="#ffffff"
android:textSize="@dimen/chatSendTextSize" />
</RelativeLayout>
<EditText
android:id="@+id/chatEditText"
android:layout_width="match_parent"
android:layout_height="@dimen/editTextHeight"
android:layout_toLeftOf="@+id/chatSendButton"
android:background="@drawable/edit_text"
android:inputType="textMultiLine"
android:maxLines="5" />
</RelativeLayout>
<com.handmark.pulltorefresh.library.PullToRefreshListView
xmlns:pulltorefresh="http://schemas.custom.com/android/pulltorefresh"
android:id="@+id/chatList"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_above="@+id/chatBottomView"
android:cacheColorHint="#00000000"
android:divider="#00000000"
android:fadingEdge="none"
android:fadingEdgeLength="0px"
android:listSelector="#00000000"
pulltorefresh:type="chat" />
</RelativeLayout>
我在AndroidManifest.xml中添加了 AdjustPan 选项:
<activity
android:name=".ui.ChatActivity"
android:screenOrientation="portrait"
android:windowSoftInputMode="stateHidden|adjustPan" >
</activity>
AdjustResize在我的实现中不起作用,因为我猜它没有滚动视图。
软键盘打开时调整聊天页面大小的最佳方法是什么?据我所知,Android中的键盘也没有实现。我只看到一些与全局layoutlistener相关的样本来理解键盘位置,但它对我来说效果不好。
为什么adjustpan选项会隐藏我的操作栏而不是仅隐藏聊天屏幕?
答案 0 :(得分:2)
添加到chat.xml布局中的pulltorefreshlistview:
android:transcriptMode="alwaysScroll"
它解决了一切。如果聊天列表视图在任何条件下都可滚动,则无需监听键盘事件以手动滚动列表视图。
希望它对除我以外的任何人都有帮助..