如何将浮动操作按钮对齐到中心
How to align Floating Action Button to center
我有一个 FloatingActionButton。我希望它像这样位于 2 个 LinearLayouts 的中间和屏幕中心。
目前我的设计是这样的
我希望它位于屏幕的正中央。怎么做?
这是我的全部 xml 代码
<android.support.design.widget.CoordinatorLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<LinearLayout
android:id="@+id/viewA"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1.6"
android:orientation="horizontal"/>
<LinearLayout
android:id="@+id/viewB"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="0.2"
android:orientation="horizontal"/>
</LinearLayout>
<android.support.design.widget.FloatingActionButton
android:id="@+id/fab"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:clickable="true"
android:src="@drawable/ic_plus"
app:layout_anchor="@id/viewA"
android:layout_centerHorizontal="true"
app:layout_anchorGravity="bottom"
android:layout_centerInParent="true" />
改成这个
app:layout_anchor="@id/viewA"
android:layout_centerHorizontal="true"
你的 CoordinatorLayout
是 FrameLayout
,所以试试这个,
希望对你有帮助。
app:layout_anchorGravity="bottom|center"
设置 layout_centerHorizontal 和 layout_centerInParent 在 CoordinatorLayout 中不起作用。它们只允许出现在 RelativeLayout 中。你应该这样做:
app:layout_anchorGravity="center|bottom"
以上解决方案不知何故对我不起作用。
我将 android:layout_gravity
更改为
android:layout_gravity="bottom|center"
希望对您有所帮助:-)
我有一个 FloatingActionButton。我希望它像这样位于 2 个 LinearLayouts 的中间和屏幕中心。
目前我的设计是这样的
我希望它位于屏幕的正中央。怎么做?
这是我的全部 xml 代码
<android.support.design.widget.CoordinatorLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<LinearLayout
android:id="@+id/viewA"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1.6"
android:orientation="horizontal"/>
<LinearLayout
android:id="@+id/viewB"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="0.2"
android:orientation="horizontal"/>
</LinearLayout>
<android.support.design.widget.FloatingActionButton
android:id="@+id/fab"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:clickable="true"
android:src="@drawable/ic_plus"
app:layout_anchor="@id/viewA"
android:layout_centerHorizontal="true"
app:layout_anchorGravity="bottom"
android:layout_centerInParent="true" />
改成这个
app:layout_anchor="@id/viewA"
android:layout_centerHorizontal="true"
你的 CoordinatorLayout
是 FrameLayout
,所以试试这个,
希望对你有帮助。
app:layout_anchorGravity="bottom|center"
设置 layout_centerHorizontal 和 layout_centerInParent 在 CoordinatorLayout 中不起作用。它们只允许出现在 RelativeLayout 中。你应该这样做:
app:layout_anchorGravity="center|bottom"
以上解决方案不知何故对我不起作用。
我将 android:layout_gravity
更改为
android:layout_gravity="bottom|center"
希望对您有所帮助:-)