【发布时间】:2015-12-31 08:52:00
【问题描述】:
我是 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> 被完全删除。因此,我们不仅仅将</android.support.design.widget.CoordinatorLayout> 用于 FAB,而是将其用于整个活动。由于 CoordinatorLayout 专注于使子视图协调工作,如果所有元素相互协调工作不是更好吗?两种方式都有什么优缺点?
【问题讨论】:
-
@HareshChhelana 阅读这些链接后,我有了更好的理解。感谢您的帮助。
-
很高兴为您提供帮助
标签: android xml android-layout material-design