2016-07-06 64 views
0

所以我有一個ListView(用於聊天消息)和一個編輯文本(編寫消息)。我希望EditText在空行時自動放大。如何在編寫> 100個字符時停止EditText放大到右側?提前如何在EditText中輸入時自動調整(放大)ListView?

<?xml version="1.0" encoding="utf-8"?> 
<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="fill_parent" 
    android:orientation="vertical" > 

    <TextView 
     android:id="@+id/xmpp_chatdetail_tv_partnerID" 
     android:background="@drawable/green_hsrt_1_default_CMYK_100_10_55_0" 
     android:layout_width="match_parent" 
     android:layout_height="90sp" 
     android:gravity="center" 
     android:padding="6dip" 
     android:textColor="@color/white" 
     android:layout_weight="0.125" 
     android:textSize="20sp"> 
    </TextView> 


    <ListView 
     android:id="@android:id/list" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:divider="@null" 
     android:dividerHeight="0dp" 
     android:paddingBottom="10dp" 
     android:stackFromBottom="true" 
     android:transcriptMode="alwaysScroll" 
     android:layout_above="@+id/form" 
     android:layout_below="@+id/xmpp_chatdetail_tv_partnerID" /> 

    <LinearLayout 
     android:id="@+id/form" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_alignParentBottom="true" 
     android:layout_alignParentLeft="true" 
     android:orientation="horizontal" 
     android:paddingBottom="2dp" > 


     <RelativeLayout 
      android:layout_width="match_parent" 
      android:layout_height="50dp"> 

      <EditText 
       android:id="@+id/editText_xmpp_chat" 
       android:layout_width="1sp" 
       android:layout_height="wrap_content" 
       android:layout_weight="0.61" 
       android:ems="10" 
       android:maxHeight="80sp" 
       android:hint="@string/hint_text" 
       android:textColor="@color/black" 
       android:textColorHint="@color/grey" 
       android:textSize="25sp" 
       android:layout_alignParentBottom="true" 
       android:layout_alignParentTop="true" 
       android:layout_alignParentLeft="true" 
       android:layout_alignParentStart="true" 
       android:layout_toLeftOf="@+id/btn_xmpp_send" 
       android:layout_toStartOf="@+id/btn_xmpp_send" 
       android:inputType="textCapSentences|textMultiLine" 
       android:maxLength="255" 
       android:maxLines="4" /> 

      <ImageButton 
       android:id="@+id/btn_xmpp_send" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:background="@drawable/btn_send_xmpp" 
       android:text="@string/send" 
       android:layout_alignParentTop="true" 
       android:layout_alignParentRight="true" 
       android:layout_alignParentEnd="true" 
       android:layout_alignParentBottom="true" /> 
     </RelativeLayout> 

    </LinearLayout> 


</RelativeLayout> 

感謝:

我嘗試這樣做,但它不工作!

回答

0

這種佈局的伎倆。試試看,讓我知道它是否有效。

我刪除了layout_weight屬性,因爲它們不適用於相對佈局。

<?xml version="1.0" encoding="utf-8"?> 
<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="fill_parent" 
    android:orientation="vertical" > 

    <TextView 
     android:id="@+id/xmpp_chatdetail_tv_partnerID" 
     android:background="@drawable/green_hsrt_1_default_CMYK_100_10_55_0" 
     android:layout_width="match_parent" 
     android:layout_height="90sp" 
     android:gravity="center" 
     android:padding="6dip" 
     android:textColor="@color/white" 
     android:layout_weight="0.125" 
     android:textSize="20sp"> 
    </TextView> 

    <ListView 
     android:id="@android:id/list" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:divider="@null" 
     android:dividerHeight="0dp" 
     android:paddingBottom="10dp" 
     android:stackFromBottom="true" 
     android:transcriptMode="alwaysScroll" 
     android:layout_above="@+id/form" 
     android:layout_below="@+id/xmpp_chatdetail_tv_partnerID" /> 

    <RelativeLayout 
     android:id="@+id/form" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_alignParentBottom="true" 
     android:layout_alignParentLeft="true" 
     android:layout_alignParentRight="true" 
     android:paddingBottom="2dp"> 

     <EditText 
      android:id="@+id/editText_xmpp_chat" 
      android:text="adasd asdasdas dasdsad asdsad" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:maxHeight="80sp" 
      android:hint="@string/hint_text" 
      android:textColor="@color/black" 
      android:textColorHint="@color/grey" 
      android:textSize="25sp" 
      android:layout_toLeftOf="@+id/btn_xmpp_send" 
      android:layout_toStartOf="@+id/btn_xmpp_send" 
      android:inputType="textCapSentences|textMultiLine" 
      android:maxLength="255" 
      android:maxLines="4" /> 

     <ImageButton 
      android:id="@+id/btn_xmpp_send" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:background="@drawable/btn_send_xmpp" 
      android:text="@string/send" 
      android:layout_alignBottom="@+id/editText_xmpp_chat" 
      android:layout_alignParentRight="true" 
      android:layout_alignParentEnd="true" /> 
    </RelativeLayout> 
</RelativeLayout> 
+0

它的作品,但現在發送按鈕變得更大。如何解決它? – Eclipse

+0

你希望發生什麼? – Tharkius

+0

它貼着最後一行空白行(在右下角)。 – Eclipse

相關問題