2015-03-02 41 views
1

當我輸入EditText框時,包含它的RelativeLayout不會展開。問題是我想要它。佈局不會隨EditText擴展

這裏的問題的視覺顯示:

enter image description here

有大約5亂碼線在那裏輸入,你可以看到第2至最後一行切斷。應該顯示最多5行,但它們不是,很可能是因爲它們在佈局中,其高度設置爲包裹內容。如何在EditText展開時擴展父佈局?

這裏的問題是XML顯示您在圖片中看到的消息框:

<RelativeLayout 
    android:id="@+id/group_chat_form" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_alignParentBottom="true" 
    android:layout_marginTop="5dp" 
    android:background="@drawable/transparent_background2" > 

     <TextView 
     android:id="@+id/send_msg_button" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentRight="true" 
     android:background="@drawable/transparent_background2" 
     android:text="Send" /> 


    <EditText 

     android:id="@+id/group_chat_input_box" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentLeft="true" 
     android:layout_alignBottom="@id/send_msg_button" 
     android:layout_toLeftOf="@id/send_msg_button" 
     android:background="#00000000" 
     android:hint="Type a message..." 
     android:textColorHint="#EEEEEE" 
     android:inputType="textMultiLine" 
     android:maxLines="5" 
     android:paddingLeft="5dp" 
     android:paddingRight="5dp" 
     android:paddingTop="4dp" 
     android:paddingBottom="4dp" 
     android:textColor="#FFFFFF" 
     android:textSize="20sp" 
     android:shadowColor="#000000" 
     android:shadowRadius="3" 
     android:shadowDx="3" 
     android:shadowDy="3"/> 

    </RelativeLayout> 
+1

scrollHorizo​​ntal = 「假」 ...... http://stackoverflow.com/questions/3276380/android-word-wrap-edittext-text – zgc7009 2015-03-02 20:43:30

+0

@ zgc7009增加該屬性的EditText上沒有做任何事情。 – Kacy 2015-03-02 20:50:32

+0

閱讀我鏈接的答案,還有一個多行屬性要考慮。 – zgc7009 2015-03-02 20:54:48

回答

4

我怎麼能掙錢的時候,擴張的EditText父佈局擴張?

這不是工作,因爲EditText被固定在TextView

android:layout_alignBottom="@id/send_msg_button" 

EditText試圖擴大下來,但也不能因爲它是不允許去下面那點。

刪除此,它與TextView的位置固定到TextView的頂部將解決這個問題,但產生其它問題,如果EditText增長太多。

我已經測試了一些來自評論的建議,它似乎給了你想要的。你可以在下面找到我的例子,在bg和顏色上做一些改變,以便與我的測試項目一起工作。

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" 
android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin" 
android:paddingRight="@dimen/activity_horizontal_margin" 
android:paddingTop="@dimen/activity_vertical_margin" 
android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity"> 

<RelativeLayout 
    android:id="@+id/group_chat_form" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_alignParentBottom="true" 
    android:layout_marginTop="5dp" 
    android:background="@drawable/abc_item_background_holo_dark" > 

    <TextView 
     android:id="@+id/send_msg_button" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentRight="true" 
     android:layout_alignBottom="@id/group_chat_input_box" 
     android:background="@drawable/abc_item_background_holo_light" 
     android:text="Send" /> 


    <EditText 

     android:id="@+id/group_chat_input_box" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentLeft="true" 
     android:layout_toLeftOf="@id/send_msg_button" 
     android:background="#FFFFFF" 
     android:hint="Type a message...Type a message...Type a message...Type a message...Type a message...Type a message... 
     Type a message...Type a..." 
     android:inputType="textMultiLine" 
     android:maxLines="5" 
     android:paddingLeft="5dp" 
     android:paddingRight="5dp" 
     android:paddingTop="4dp" 
     android:paddingBottom="4dp" 
     android:textColor="#FFFFFF" 
     android:textSize="20sp" 
     android:shadowColor="#000000" 
     android:shadowRadius="3" 
     android:shadowDx="3" 
     android:shadowDy="3"/> 

    </RelativeLayout> 

</RelativeLayout>