我正在使用包含工具欄和TabLayout,ViewPager和FloatingActionMenu的AppBarLayout的佈局。AppBarLayout不允許其他視圖match_parent
我的問題是,當使用layoutBheight = match_parent時,使用AppBarLayout會導致CoordinatorLayout內部的其他視圖不匹配整個屏幕,而這個其他視圖匹配除了AppBarLayout之外的其他視圖。這種行爲對我的ViewPager來說是完美的,因爲否則它的內容將被AppBarLayout覆蓋,但是我需要我的FloatingActionMenu來匹配整個屏幕,這樣當我的菜單打開時,我可以調暗屏幕。
所以我的問題是:我如何使它成爲我的FloatingActionMenu接管整個屏幕?
我的XML:
<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout
android:id="@+id/main_content"
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:fitsSystemWindows="true"
tools:context="com.example.Home">
<android.support.design.widget.AppBarLayout
android:id="@+id/appbar"
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/AppBaseTheme.ToolbarPopup"
app:theme="@style/AppBaseTheme.Toolbar">
</android.support.v7.widget.Toolbar>
<android.support.design.widget.TabLayout
android:id="@+id/tabs"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="?attr/colorPrimary"
app:tabTextAppearance="@style/AppBaseTheme.TabText"
app:theme="@style/AppBaseTheme.Toolbar"/>
</android.support.design.widget.AppBarLayout>
<android.support.v4.view.ViewPager
android:id="@+id/home_container"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior"/>
<com.example.FloatingActionMenu
android:id="@+id/fam"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="bottom|end"
android:padding="@dimen/fab_margin"
app:menu_backgroundColor="#BB8b8b8b">
<com.example.FloatingActionButton
android:id="@+id/fab"
style="@style/MenuButtonsStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
</com.example.FloatingActionMenu>
使用的RelativeLayout作爲我的根視圖或使用的LinearLayout來握住我的工具欄和TabLayout會解決我的問題,但我需要使用CoordinatorLayout和AppBarLayout添加滾動功能。
編輯:
在不同的設備上進行測試後,我發現這個問題只發生在更新的版本,你可以在接下來的照片看。
在API 23:
idk你的代碼似乎是正確的,但是我可以刪除這條線,爲了調試,因爲它不是真的需要! 'android:orientation =「vertical」'from appsbar – k0sh
@ k0sh謝謝,我忘了刪除它,在我嘗試使用LinearLayout而不是AppBarLayout時使用它。 – colo99