android:哪种做法更适合使用CoordinatorLayout

我对android的材质设计方面很陌生。 所以,请忍受我。 我尝试为我的家庭活动实施FAB,然后实施小吃店。 当然,它高于我的FAB。 我研究过CoordinatorLayout,有什么困扰我的是使用CoordinatorLayout的更好的做法?

例如,这里是我的活动的XML。

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

        <android.support.v7.widget.Toolbar
            android:id="@+id/toolbar"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="@color/primary_color"></android.support.v7.widget.Toolbar>


        <android.support.design.widget.FloatingActionButton
            android:id="@+id/searchfab"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentRight="true"
            android:layout_alignParentBottom="true"
            android:layout_marginBottom="20dp"
            android:layout_marginRight="20dp"
            android:src="@drawable/ic_add_black_24dp"
            app:fabSize="normal">

        </android.support.design.widget.FloatingActionButton>

</RelativeLayout>

我看到其他人像这样添加CoordinatorLayout。

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">


    <android.support.v7.widget.Toolbar
        android:id="@+id/toolbar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@color/primary_color"></android.support.v7.widget.Toolbar>

    <android.support.design.widget.CoordinatorLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <android.support.design.widget.FloatingActionButton
            android:id="@+id/searchfab"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true"
            android:layout_alignParentRight="true"
            android:layout_marginBottom="20dp"
            android:layout_marginRight="20dp"
            android:src="@drawable/ic_add_black_24dp"
            app:fabSize="normal">

        </android.support.design.widget.FloatingActionButton>

    </android.support.design.widget.CoordinatorLayout>
</RelativeLayout>

我的问题是,我们可以使用<android.support.design.widget.CoordinatorLayout>作为所有元素的根。 完全绕过或删除<RelativeLayout>

所以xml就变成这样了。

    <android.support.design.widget.CoordinatorLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        tools:context=".MainActivity">

        <android.support.v7.widget.Toolbar
        android:id="@+id/toolbar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@color/primary_color">

        <android.support.design.widget.FloatingActionButton
            android:id="@+id/searchfab"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true"
            android:layout_alignParentRight="true"
            android:layout_marginBottom="20dp"
            android:layout_marginRight="20dp"
            android:src="@drawable/ic_add_black_24dp"
            app:fabSize="normal">

        </android.support.design.widget.FloatingActionButton>

    </android.support.design.widget.CoordinatorLayout>

并且<RelativeLayout>被完全删除。 因此,我们不是只为FAB使用</android.support.design.widget.CoordinatorLayout> ,而是将其用于整个活动。 由于CoordinatorLayout专注于使儿童视图协调工作,如果所有元素都相互配合工作,那么它会更好吗? 这种做法有哪些优缺点?


CoordinatorLayout相对较新,它解决了FloatingActionButton和NavDrawer的很多问题。 因此,如果您必须拥有FAB或NavDrawer,我肯定会推荐您使用CoordinatorLayout作为您现在最上层的布局(您的最后一段代码片段),并且您可以使用RelativeLayout或LinearLayout来进一步优化。

链接地址: http://www.djcxy.com/p/29729.html

上一篇: android: Which practice is better for using CoordinatorLayout

下一篇: Android drag and return to previous activity like Facebook and Google Photos