2016-06-12 68 views
1

我的XML向上移:的Android - 防止從TextView的從屬於

<?xml version="1.0" encoding="utf-8"?> 
<android.support.design.widget.CoordinatorLayout 
xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="match_parent" 
android:layout_height="match_parent"> 

<android.support.design.widget.FloatingActionButton 
    android:id="@+id/fab" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_gravity="end|bottom" 
    android:layout_margin="@dimen/fab_margin" 
    android:src="@android:drawable/ic_media_play" /> 

<EditText 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:id="@+id/textInput" 
    android:maxLines="5" 
    android:layout_gravity="center_horizontal|top" 
    android:layout_alignParentTop="true" 
    android:layout_centerHorizontal="true" 
    android:ems="15" 
    android:maxEms="15" 
    android:layout_marginTop="150dp" 
    /> 

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

    <TextView 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:textAppearance="?android:attr/textAppearanceLarge" 
     android:textSize="40sp" 
     android:id="@+id/mText" 
     android:gravity="center" 
     android:paddingStart="20dp" 
     android:paddingLeft="20dp" 
     android:paddingRight="20dp" 
     android:layout_gravity="center_vertical" 
     android:layout_centerVertical="true" 
     android:layout_alignParentLeft="true" 
     android:layout_alignParentStart="true" /> 
</RelativeLayout> 

</android.support.design.widget.CoordinatorLayout> 

TextView出現EditText這是很好的下方和TextView是默認爲空白。在我的代碼中,隨着時間的推移,我追加到TextView,但是在一行填滿之後,上一行向上移近EditText,直到它們重疊。

TextView是否有一種方法可以在向文本添加文本時向下生長,而不是向上移動?

更清楚:

EditText        


first line of BlankTextView 

業大:

EditText 

first line of TextView <- first line shifted up one place 
second line of TextView 

回答

0

首先,要能夠定義你的EditTextTextView的相對位置給對方,你應該添加他們到相同RelativeLayout

之後,您可以使用android:layout_below屬性來將您的TextView放置在EditText以下,以防止它們重疊。

嘗試以下操作:

<?xml version="1.0" encoding="utf-8"?> 
<android.support.design.widget.CoordinatorLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 

    <android.support.design.widget.FloatingActionButton 
     android:id="@+id/fab" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="end|bottom" 
     android:layout_margin="@dimen/fab_margin" 
     android:src="@android:drawable/ic_media_play" /> 

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

     <EditText 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:id="@+id/textInput" 
      android:maxLines="5" 
      android:layout_gravity="center_horizontal|top" 
      android:layout_alignParentTop="true" 
      android:layout_centerHorizontal="true" 
      android:ems="15" 
      android:maxEms="15" 
      android:layout_marginTop="150dp" /> 

     <TextView 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:layout_below="@+id/textInput" 
      android:textAppearance="?android:attr/textAppearanceLarge" 
      android:textSize="40sp" 
      android:id="@+id/mText" 
      android:gravity="center" 
      android:paddingStart="20dp" 
      android:paddingLeft="20dp" 
      android:paddingRight="20dp" 
      android:layout_gravity="center_vertical" 
      android:layout_centerVertical="true" 
      android:layout_alignParentLeft="true" 
      android:layout_alignParentStart="true" /> 
    </RelativeLayout> 

</android.support.design.widget.CoordinatorLayout> 
+0

完美的作品,非常感謝 – DD225

+0

不客氣。 – earthw0rmjim