我有一個簡單的聊天活動,在頂部有一個消息輸入框,然後是帶有消息列表的滾動視圖。當軟鍵盤打開時,我希望縮小滾動視圖以便鍵盤不覆蓋最後一條消息。這是我的xml:當顯示軟鍵盤時,Scrollview不縮水
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:padding="8dp" >
<TextView
android:id="@+id/chat_with"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:text="Chat with Gordon" />
<RelativeLayout
android:id="@+id/msg_container"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/chat_with"
android:layout_marginTop="10dp">
<EditText
android:id="@+id/chat_message"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:ems="10"
android:hint="Type your message" />
<ImageButton
android:id="@+id/chat_send"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:background="#00000000"
android:src="@+android:drawable/ic_menu_send" />
</RelativeLayout>
<ScrollView
android:id="@+id/chat_container"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/msg_container"
android:layout_marginTop="15dp"
android:padding="10dp"
android:isScrollContainer="true"
>
<RelativeLayout
android:id="@+id/chat_text"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
>
<TextView
android:id="@+id/msg1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hi, how are you?"
android:layout_alignParentRight="true"/>
<TextView
android:id="@+id/msg2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="hey! All right"
android:layout_alignParentLeft="true"
android:layout_below="@+id/msg1"/>
</RelativeLayout>
</ScrollView>
</RelativeLayout>
我只是手動插入兩個消息,但會有很多人在真正的應用程序。我已經嘗試了adjustPan | adjustResize解決方案,但它不起作用,當我觸發鍵盤時,佈局保持不變,最後的消息被鍵盤覆蓋。我怎樣才能避免這種情況? 感謝您的幫助!
以及一個你應該使用S列表視圖不滾動型和兩個剛剛滾動到列表 – tyczj 2014-10-06 17:36:19
結束滾動到列表的末尾不是問題,我可以通過編程來完成。問題在於鍵盤覆蓋了消息。爲什麼我不應該使用scrollview? – splinter123 2014-10-06 17:41:29
閱讀一下listview的功能,找出爲什麼你應該使用它http://developer.android.com/guide/topics/ui/layout/listview.html。當鍵盤啓動時,沒有辦法顯示最後一條消息,消息可能真的很長 – tyczj 2014-10-06 17:50:30