2017-12-18 295 views
0

我有我的ScrollView在我的片段沒有高度的問題。我將視圖添加到嵌套在我的ScrollView中的LinearLayout中。 如果我將ScrollView的高度設置爲0dp,那麼我在LinearLayout中看不到視圖。 如果我將ScrollView的高度設置爲410dp,那麼我會看到視圖。 我只是想填滿屏幕的底部。爲什麼我的ConstraintLayout中的ScrollView保持沒有高度而不是遵循約束?

我錯過了什麼?

<?xml version="1.0" encoding="utf-8"?> 
<android.support.constraint.ConstraintLayout 
    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" 
    xmlns:app="http://schemas.android.com/apk/res-auto"> 

    <TextView 
     android:id="@+id/seriesTitleTextView" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_marginTop="8dp" 
     android:labelFor="@+id/seriesTitleEditBox" 
     android:text="Series Title" 
     app:layout_constraintLeft_toLeftOf="parent" 
     app:layout_constraintTop_toTopOf="parent"/> 

    <EditText 
     android:id="@+id/seriesTitleEditBox" 
     android:layout_width="390dp" 
     android:layout_height="40dp" 
     android:imeOptions="actionNext" 
     android:inputType="textCapWords" 
     android:selectAllOnFocus="true" 
     app:layout_constraintLeft_toLeftOf="@+id/seriesTitleTextView" 
     app:layout_constraintTop_toBottomOf="@+id/seriesTitleTextView" 
     /> 

    <TextView 
     android:id="@+id/tvmdIDTextView" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_marginTop="8dp" 
     android:labelFor="@+id/tvmdIDEditBox" 
     android:text="TVMD ID" 
     app:layout_constraintLeft_toLeftOf="@+id/seriesTitleEditBox" 
     app:layout_constraintTop_toBottomOf="@+id/seriesTitleEditBox" 
     /> 

    <EditText 
     android:id="@+id/tvmdIDEditBox" 
     android:layout_width="200dp" 
     android:layout_height="40dp" 
     android:imeOptions="actionNext" 
     android:inputType="textCapWords" 
     android:selectAllOnFocus="true" 
     app:layout_constraintLeft_toLeftOf="@+id/tvmdIDTextView" 
     app:layout_constraintTop_toBottomOf="@+id/tvmdIDTextView" 
     /> 

    <Switch 
     android:id="@+id/finishedSwitch" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     app:layout_constraintTop_toBottomOf="@id/tvmdIDTextView" 
     app:layout_constraintRight_toRightOf="parent" 
     android:text="Finished? "/> 

    <TextView 
     android:id="@+id/detailsHeaderBackgroundTextView" 
     android:text=" " 
     android:layout_width="0dp" 
     android:layout_height="50dp" 
     android:layout_marginTop="20dp" 
     android:background="@color/colorPrimary" 
     app:layout_constraintTop_toBottomOf="@+id/finishedSwitch" 
     app:layout_constraintLeft_toLeftOf="parent" 
     app:layout_constraintRight_toRightOf="parent" 
     /> 

    <TextView 
     android:id="@+id/detailHeaderTextView" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_marginStart="20dp" 
     android:layout_marginTop="10dp" 
     android:background="@color/colorPrimary" 
     android:text="Season 99" 
     android:textColor="@android:color/white" 
     android:textSize="20sp" 
     app:layout_constraintLeft_toLeftOf="@+id/detailsHeaderBackgroundTextView" 
     app:layout_constraintTop_toTopOf="@id/detailsHeaderBackgroundTextView" 
     /> 

    <ImageButton 
     android:id="@+id/addViewing" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_marginTop="8dp" 
     android:background="@color/colorPrimary" 
     android:contentDescription="Add Button" 
     android:onClick="addViewingClickHandler" 
     android:src="@android:drawable/ic_menu_add" 
     app:layout_constraintRight_toRightOf="@id/detailsHeaderBackgroundTextView" 
     app:layout_constraintTop_toTopOf="@id/detailsHeaderBackgroundTextView"/> 

    <ScrollView 
     android:layout_width="wrap_content" 
     android:layout_height="0dp" 
     app:layout_constraintTop_toBottomOf="@+id/detailsHeaderBackgroundTextView" 
     app:layout_constraintBottom_toBottomOf="parent" 
     > 

     <LinearLayout 
      android:id="@+id/detailsLayout" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:orientation="vertical" 
      /> 

    </ScrollView> 

</android.support.constraint.ConstraintLayout> 

回答

1

問題從具有高度設置爲WRAP_CONTENT父佈局來了,而不是match_parent。

1

只要改變你的滾動視圖喜歡下面

<?xml version="1.0" encoding="utf-8"?> 
<android.support.constraint.ConstraintLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 

<TextView 
    android:id="@+id/seriesTitleTextView" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_marginTop="8dp" 
    android:labelFor="@+id/seriesTitleEditBox" 
    android:text="Series Title" 
    app:layout_constraintLeft_toLeftOf="parent" 
    app:layout_constraintTop_toTopOf="parent" /> 

<EditText 
    android:id="@+id/seriesTitleEditBox" 
    android:layout_width="390dp" 
    android:layout_height="40dp" 
    android:imeOptions="actionNext" 
    android:inputType="textCapWords" 
    android:selectAllOnFocus="true" 
    app:layout_constraintLeft_toLeftOf="@+id/seriesTitleTextView" 
    app:layout_constraintTop_toBottomOf="@+id/seriesTitleTextView" /> 

<TextView 
    android:id="@+id/tvmdIDTextView" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_marginTop="8dp" 
    android:labelFor="@+id/tvmdIDEditBox" 
    android:text="TVMD ID" 
    app:layout_constraintLeft_toLeftOf="@+id/seriesTitleEditBox" 
    app:layout_constraintTop_toBottomOf="@+id/seriesTitleEditBox" /> 

<EditText 
    android:id="@+id/tvmdIDEditBox" 
    android:layout_width="200dp" 
    android:layout_height="40dp" 
    android:imeOptions="actionNext" 
    android:inputType="textCapWords" 
    android:selectAllOnFocus="true" 
    app:layout_constraintLeft_toLeftOf="@+id/tvmdIDTextView" 
    app:layout_constraintTop_toBottomOf="@+id/tvmdIDTextView" /> 

<Switch 
    android:id="@+id/finishedSwitch" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="Finished? " 
    app:layout_constraintRight_toRightOf="parent" 
    app:layout_constraintTop_toBottomOf="@id/tvmdIDTextView" /> 

<TextView 
    android:id="@+id/detailsHeaderBackgroundTextView" 
    android:layout_width="0dp" 
    android:layout_height="50dp" 
    android:layout_marginTop="20dp" 
    android:background="@color/colorPrimary" 
    android:text=" " 
    app:layout_constraintLeft_toLeftOf="parent" 
    app:layout_constraintRight_toRightOf="parent" 
    app:layout_constraintTop_toBottomOf="@+id/finishedSwitch" /> 

<TextView 
    android:id="@+id/detailHeaderTextView" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_marginStart="20dp" 
    android:layout_marginTop="10dp" 
    android:background="@color/colorPrimary" 
    android:text="Season 99" 
    android:textColor="@android:color/white" 
    android:textSize="20sp" 
    app:layout_constraintLeft_toLeftOf="@+id/detailsHeaderBackgroundTextView" 
    app:layout_constraintTop_toTopOf="@id/detailsHeaderBackgroundTextView" /> 

<ImageButton 
    android:id="@+id/addViewing" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_marginTop="8dp" 
    android:background="@color/colorPrimary" 
    android:contentDescription="Add Button" 
    android:onClick="addViewingClickHandler" 
    android:src="@android:drawable/ic_menu_add" 
    app:layout_constraintRight_toRightOf="@id/detailsHeaderBackgroundTextView" 
    app:layout_constraintTop_toTopOf="@id/detailsHeaderBackgroundTextView" /> 

<ScrollView 
    android:layout_width="0dp" 
    android:layout_height="0dp" 
    app:layout_constraintBottom_toBottomOf="parent" 
    app:layout_constraintLeft_toLeftOf="parent" 
    app:layout_constraintRight_toRightOf="parent" 
    app:layout_constraintTop_toBottomOf="@+id/detailsHeaderBackgroundTextView"> 

    <LinearLayout 
     android:id="@+id/detailsLayout" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:orientation="vertical"> 

     <!--SAMPLE TEXTVIEW--> 
     <android.support.v7.widget.AppCompatTextView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="hello" /> 

    </LinearLayout> 

</ScrollView> 

</android.support.constraint.ConstraintLayout> 
+0

將寬度更改爲0dp並約束到左側和右側未改變任何內容。添加到linearlayout中的動態創建的textviews仍然不顯示。我甚至添加了示例textview以查看它是否改變了任何內容。它也沒有顯示。當我將layout_height更改爲410dp時,它會顯示我添加的所有視圖。它仍然看起來我的卷軸有0的高度。 –

相關問題