2015-03-02 90 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>