2013-11-28 52 views
1

我做了一個讓用戶聊天的應用程序。爲了顯示聊天消息,我使用ListView在列表項中顯示消息。 每當鍵盤彈出或關閉時,我都希望ListView進行相應的調整。Android:無論何時手機的鍵盤彈出或關閉,如何動態更改ListView的高度?

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" > 
<RelativeLayout 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentBottom="true" 
     android:orientation="horizontal"> 

    <EditText 
     android:id="@+id/message_edittext" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_marginLeft="0dp" 
     android:ems="10" 
     android:hint="Enter your message..." 
     android:maxLength="20" 
     android:paddingLeft="22dp" /> 

    <ImageButton 
      android:id="@+id/send_btn" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_centerVertical="true" 
      android:layout_alignParentRight="true" 
      android:layout_marginRight="10dp" 
      android:background="@drawable/ok"/> 

    </RelativeLayout> 

<ListView 
    android:id="@+id/message_listView" 
    android:layout_width="match_parent" 
    android:layout_height="300dp" 
    android:layout_alignParentLeft="true" 
    android:layout_alignParentTop="true" 
    android:stackFromBottom="true"> 


</ListView> 

</RelativeLayout> 

enter image description here 每當鍵盤下降ListView中應該佔據整個屏幕,它應該去,每當用戶開始鍵入鍵盤上方。
enter image description here

謝謝。

回答

6

嘗試把這個代碼在AndroidManifest.xml這是關係到你的活動

機器人:windowSoftInputMode = |在此

<activity 
      android:name="com.geeklabs.footmark.activity.CaptureActivity" 
      android:configChanges="keyboardHidden|orientation|screenSize" 
      android:label="" 
      android:windowSoftInputMode="adjustResize|stateAlwaysVisible" 
      /> 

「adjustResize stateAlwaysVisible」

像這上面的活動,例如如何放置

+0

感謝它的作品 – user2674084

+0

你永遠受歡迎的人..... –