按钮位于其下方定义的布局下

时间:2018-10-22 07:57:32

标签: android layout floating-action-button

您好,我的布局“ addfab”中有一个fab按钮,该按钮在大多数手机中均可正常显示,但在android 4.4 kitkat隐藏在xml下定义的相对布局下。它们都被定义为在一个对象下方是我的xml。

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:fbutton="http://schemas.android.com/tools"
android:weightSum="1">


<android.support.design.widget.AppBarLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:id="@+id/bar1"

    >

    <android.support.v7.widget.Toolbar
        android:id="@+id/toolbar2"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@color/colorPrimary"
        android:minHeight="?attr/actionBarSize"
        android:textAlignment="center"
        app:layout_scrollFlags="scroll|enterAlways"
        app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
        >

    </android.support.v7.widget.Toolbar>



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


<android.support.design.widget.FloatingActionButton
    android:id="@+id/addfab"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentRight="true"
    android:layout_below="@id/bar1"
    android:layout_marginRight="20dp"
    android:layout_marginTop="130dp"
    android:clickable="true"
    android:elevation="2dp"
    android:src="@drawable/logo_green"
    app:fabSize="normal"
    />

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:id="@+id/pic"
    android:layout_below="@id/bar1"
    android:background="@color/colorPrimary">
    <com.mikhaellopez.circularimageview.CircularImageView
        android:layout_width="150dp"
        android:layout_height="150dp"
        android:id="@+id/image_gol"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="10dp"
        app:civ_border_color="@color/colorPrimary"
        app:civ_border_width="5dp"
        app:civ_shadow="false"
        app:civ_shadow_radius="5"
        app:civ_shadow_color="#9e9e9e"/>

</RelativeLayout>

我该怎么办?为什么Android的行为有所不同?

1 个答案:

答案 0 :(得分:0)

使用RelativeLayout代替CoordinatorLayout

<android.support.design.widget.CoordinatorLayout>
<android.support.design.widget.AppBarLayout>
//Toolbar here
</android.support.design.widget.AppBarLayout>

// your fab and relativelayout here
</android.support.design.widget.CoordinatorLayout>

作为根级别标签。您可以使用以下方法将其(FloatingActionButton)锚定到所需的视图:

app:layout_anchor="@id/viewpager"
app:layout_anchorGravity="bottom|right|end"

属性。这也使您将来拥有更多功能,例如隐藏Toolbar等。您还需要稍后更改删除旧RelativeLayout的属性才能使用CoordinatorLayout

看一下: https://guides.codepath.com/android/floating-action-buttons