Android重叠视图和处理点击

时间:2016-01-17 13:58:08

标签: android overlapping android-coordinatorlayout floating-action-button

所以我有这个活动布局:

<android.support.v4.widget.DrawerLayout 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/drawer_layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:fitsSystemWindows="true"
    tools:openDrawer="start">
    <android.support.design.widget.CoordinatorLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:fitsSystemWindows="true">
            <android.support.design.widget.AppBarLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:theme="@style/AppTheme.AppBarOverlay">

                <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/AppTheme.PopupOverlay" />
            </android.support.design.widget.AppBarLayout>
    </android.support.design.widget.CoordinatorLayout>

    <FrameLayout
        android:id="@+id/mainContent"
        android:layout_width="match_parent"
        android:layout_height="match_parent"/>

    <android.support.design.widget.NavigationView
        android:id="@+id/nav_view"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_gravity="start"
        android:fitsSystemWindows="true"
        app:headerLayout="@layout/nav_header_main"
        app:menu="@menu/activity_main_drawer" />

</android.support.v4.widget.DrawerLayout>

我的mainContent是片段将其视图膨胀的地方。在我的特定情况下,膨胀的片段将具有cardviews的回收视图。

问题在于,布局看起来像我想要的那样,如下所示:

enter image description here

但导航抽屉图标无法点击。如果我将协调器布局与framelayout交换,则会发生这种情况:

enter image description here

导航抽屉变得可点击但图标被剪切。我知道我在这里遗漏了一些东西,我只是想不通。 我试图将两者放在一个framelayout中,但输出相同。

1 个答案:

答案 0 :(得分:0)

那个按钮不应该在那里。那不是MaterialDesign指南所说的。

您可以将FloatingActionaButton与以下样式一起使用: https://github.com/xuyisheng/DesignSupportLibraryDemo

或者像下面这样使用它:

<android.support.design.widget.FloatingActionButton
    android:onClick="checkin"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_margin="@dimen/fab_margin"
    android:clickable="true"
    android:src="@drawable/ic_discuss"
    app:layout_anchor="@id/appbar"
    app:layout_anchorGravity="bottom|right|end"/>

https://github.com/xuyisheng/DesignSupportLibraryDemo/blob/master/app/src/main/res/layout/activity_detail.xml

关于那个FrameLayout,正如我所看到的那样CoordinatorLayout FrameLayout我认为FrameLayout我们认可的是NavigationDrawer

尝试在别处使用它。或者使用以下答案: https://stackoverflow.com/a/32035783/4409113