match_parent不适用于CoordinatorLayout

时间:2015-07-20 14:49:22

标签: android android-layout androiddesignsupport

我使用Android设计支持库(LinearLayout),CoordinatorLayout中有<android.support.design.widget.CoordinatorLayout android:id="@+id/rootLayout" android:layout_width="match_parent" android:layout_height="match_parent"> <android.support.design.widget.AppBarLayout android:layout_width="match_parent" android:layout_height="wrap_content"> <android.support.v7.widget.Toolbar android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" android:background="?attr/colorPrimary" app:popupTheme="@style/ThemeOverlay.AppCompat.Light" app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"> </android.support.v7.widget.Toolbar> </android.support.design.widget.AppBarLayout> <!-- Content --> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:background="#44ff44" app:layout_behavior="@string/appbar_scrolling_view_behavior"> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Yo Yo" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Yo Yo" /> </LinearLayout> </android.support.design.widget.CoordinatorLayout> <android.support.design.widget.NavigationView android:id="@+id/navigation" android:layout_width="wrap_content" android:layout_height="match_parent" android:layout_gravity="start" app:headerLayout="@layout/nav_header" app:itemIconTint="@color/nav_item_icon_tint_color" app:itemTextColor="@color/nav_item_text_color" app:menu="@menu/navigation_drawer_items" /> ,如下所示:

wrap_content

在代码中我改变了背景颜色,我希望BG应该填满显示器上的所有颜色(因为我在layout_width和layout_height中使用match_parent)但是我得到了这样的BG颜色:

enter image description here

使用match_parent显示效果超过使用layout_weight。 我尝试在LinearLayout和layout_centerInParent中使用android:layout_gravity="fill_vertical",但它也不起作用。

我做错了什么?或者它是API错误?

更新:**

为了实现背景,我可以使用match_parent(@Abdullah建议)。但我对此问题的另一个观点是,我希望LinearLayout中的layout_weightlayout_centerInParentCoordinatorLayout以及RelativeLayout中的其他相对值在{{1}}下正常工作。现在,当我将片段添加到LinearLayout时,布局对齐(在片段布局中)与我的期望不同。使用比率或相对值的所有东西都不起作用。

谢谢

2 个答案:

答案 0 :(得分:1)

行为View应该应用于实施ScrollingViewToolbarLayout

如果您在滚动主要内容时不需要自动隐藏RecyclerView或使用LinearLayout而不是{{1}},请删除此行为。

答案 1 :(得分:-3)

  

是的!协调器布局不适用于LinearLayout。

它仅用于您想要滚动行为的地方! 就像你想要滚动并希望隐藏AppBar或FAB等。 所以如果你不想要这样的滚动行为,就不要使用那个协调器布局。

解决方案很简单:

Change CoordinatorLayout to LinearLayout!