2017-12-18 10 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

아래처럼 당신의있는 ScrollView를 변경합니다.

1

그냥 대신 match_parent의, 문제는 wrap_content로 설정 높이를 갖는 부모 레이아웃에서 온

<?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로 변경하고 왼쪽 및 오른쪽으로 제한해도 아무 것도 변경되지 않았습니다. 선형 레이아웃에 추가 된 내 동적으로 생성 된 텍스트 뷰는 여전히 표시되지 않습니다. 심지어 샘플 텍스트보기를 추가하여 변경된 사항이 있는지 확인했습니다. 그것은 어느 쪽도 보여주지 않았다. layout_height를 410dp로 변경하면 추가 된 모든 뷰가 표시됩니다. 여전히 내 스크롤러의 높이가 0 인 것 같습니다. –

관련 문제