2017-02-12 35 views
1

我有一个浮动动作按钮应该在右下角,但显然重力不工作。它显示在左上角。这里是我的代码:浮动动作按钮重力不工作

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout android:id="@+id/rl" 
      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"> 

<ImageView 
    android:id="@+id/iv" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"/> 

<android.support.design.widget.FloatingActionButton 
    android:id="@+id/fab" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_gravity="bottom|end" 
    android:layout_margin="16dp" 
    android:src="@mipmap/ic_action_send" 
    app:backgroundTint="@color/colorPrimaryDark" 
    app:layout_anchor="@id/iv" 
    app:layout_anchorGravity="bottom|right|end"/> 

</RelativeLayout> 

回答

4

我有一个浮动的操作按钮,它应该在右下角 角落,但显然重力不工作

它,除非你换一个CoordinatorLayout围绕您的内容预期的行为。例如

<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" 
    android:fitsSystemWindows="true"> 


    <ImageView 
     android:id="@+id/iv" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent"/> 

<android.support.design.widget.FloatingActionButton 
     android:id="@+id/fab" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="bottom|end" 
     android:layout_margin="16dp" 
     android:src="@mipmap/ic_action_send" 
     app:backgroundTint="@color/colorPrimaryDark" 
     app:layout_anchor="@id/iv" 
     app:layout_anchorGravity="bottom|right|end"/> 
</android.support.design.widget.CoordinatorLayout> 

应该这样做。你可以阅读更多关于CoordinatorLayouthere

+1

谢谢,这并获得成功。 –

0

使用android:layout_gravity="bottom|end"代替app:layout_anchorGravity="bottom|right|end"把它放到年底底部(右下)角球

2

使用android:layout_alignParentBottom="true"android:layout_alignRight="@id/iv"作为FloatingActionButton参数。

0

对于FrameLayout里,你可以尝试:

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:fitsSystemWindows="true" 
    tools:context="ch13mob.wifiofworldairports.fragment.FragmentWifiAirports"> 

    <include layout="@layout/wifi_list" /> 

    <android.support.design.widget.FloatingActionButton 
     android:id="@+id/fab_wifi" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="bottom|end" 
     android:layout_margin="@dimen/fab_margin" 
     android:src="@drawable/ic_wifi_black_24dp" /> 

</FrameLayout>