编辑:此问题已解决,这是由于需要更新附加的v21布局,如下所示。
基本上,我有一个带有线性布局的片段以及带有约束布局的卡片视图,我想填充整个屏幕。在Android Studio的预览模式下,它可以正常显示,但是,在实际的设备上,它可以一直显示到屏幕中间。 父活动具有协调器布局和嵌套滚动视图,它们也具有高度match_parent,它们再次显示在预览中,但是,无法在设备上实现所需的行为。
我尝试使用android:layout_gravity="fill_vertical"
(在“嵌套滚动视图”中)使背景填充整个屏幕,但无济于事。
我也尝试过android:fillViewport="true"
,但这仍然无济于事。
以下是该片段和父活动的代码:
父母活动
<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/coordinator_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
tools:context=".PlacesDetailActivity">
<android.support.design.widget.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:elevation="@dimen/elevation_app_bar"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">
<android.support.design.widget.CollapsingToolbarLayout
android:id="@+id/collapsing_toolbar_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:contentScrim="?attr/colorPrimary"
app:layout_scrollFlags="exitUntilCollapsed"
>
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar_details"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
app:layout_collapseMode="pin"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light" />
</android.support.design.widget.CollapsingToolbarLayout>
</android.support.design.widget.AppBarLayout>
<android.support.v4.widget.NestedScrollView
android:id="@+id/place_detail_container"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="fill_vertical"
android:background="@color/detail_bckgr"
app:layout_behavior="@string/appbar_scrolling_view_behavior"
>
<FrameLayout
android:id="@+id/frame_place_detail"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_behavior="@string/appbar_scrolling_view_behavior">
</FrameLayout>
</android.support.v4.widget.NestedScrollView>
</android.support.design.widget.CoordinatorLayout>
Fragment.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/linear_layout"
android:orientation="vertical"
>
<android.support.v7.widget.CardView
android:id="@+id/card_id"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:focusable="true"
android:focusableInTouchMode="true"
>
<android.support.constraint.ConstraintLayout
android:id="@+id/constraint_layout"
android:background="@color/detail_bckgr"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
>
<TextView
android:id="@+id/place_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:textSize="@dimen/title_size"
android:layout_margin="@dimen/dimen_margin_general"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:text="Place 1" />
<ImageView
android:id="@+id/place_image"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="@dimen/dimen_margin_general"
app:layout_constraintBottom_toTopOf="@+id/tv_detailed_info"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toBottomOf="@id/place_title"
app:layout_constraintVertical_bias="0.1"
tools:src="@drawable/places1_1" />
<TextView
android:id="@+id/tv_detailed_info"
android:layout_margin="@dimen/dimen_margin_general"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:text="@string/lorem_ipsum"
android:textColor="@color/colorPrimary"
android:textSize="@dimen/text_description"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintTop_toBottomOf="@+id/place_image"
app:layout_constraintVertical_bias="1" />
</android.support.constraint.ConstraintLayout>
</android.support.v7.widget.CardView>
</LinearLayout>
预期结果是获得嵌套滚动视图match_parent的高度,并且背景颜色覆盖整个设备屏幕。
实际上,嵌套滚动视图看起来高度为"wrap_content"
。