Android浮动操作按钮屏幕忽略屏幕缩放

时间:2018-01-12 11:59:02

标签: android android-layout android-relativelayout

我在RelatieLayout中遇到FloatingActionButton问题。我使用DP作为上边和左边的边距。当我更换设备按钮不在它的位置。你可以在屏幕上看到。第一个来自编辑,第二个来自设备。

<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="3dp"
android:paddingLeft="3dp"
android:paddingRight="3dp"
android:paddingTop="3dp">

<android.support.v7.widget.RecyclerView
    android:id="@+id/recyclerViewFloor5"
    android:layout_width="match_parent"
    android:layout_height="match_parent"></android.support.v7.widget.RecyclerView>

<android.support.design.widget.FloatingActionButton
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginTop="430dp"
    android:layout_marginLeft="300dp"
    app:backgroundTint="@color/primaryColor"
    android:src="@drawable/ic_action_calendar"
    app:fabSize="normal"
    android:id="@+id/floorActionButton"/>

</RelativeLayout>

[layout in editor[1] this is how it looks on device

我也试过android:gravity="center|bottom"但没有任何反应。

2 个答案:

答案 0 :(得分:1)

  

我也试过android:gravity =“center | bottom”但没有任何反应。

由于您使用RelativeLayout - gravity无效。而是使用android:layout_alignParentBottom和边距

<RelativeLayout
    ....

    <android.support.design.widget.FloatingActionButton
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_margin="16dp"
        app:backgroundTint="@color/primaryColor"
        android:src="@drawable/ic_action_calendar"
        app:fabSize="normal"
        android:id="@+id/floorActionButton"/>

</RelativeLayout>

答案 1 :(得分:0)

试试这个...不要使用保证金设置FloatingActionButton位置始终使用gravity

从androidhive开始学习本教程。

https://www.androidhive.info/2015/12/android-material-design-floating-action-button/

我已设置layoutgravity,但根据parentlayout的{​​{1}} properties正确使用。

如果您按照上面的教程进行操作,那么在我的情况下,我可以轻松地将工厂放置在gravity中,并在教程中包含布局。

只需按照它即可轻松使用</android.support.design.widget.CoordinatorLayout>margin设置为position,将break设置在不同的屏幕上,例如上面error。< / p>

<android.support.design.widget.FloatingActionButton
        android:id="@+id/floorActionButton"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="bottom|end"
        android:layout_margin="@dimen/fab_margin"
        app:backgroundTint="@color/primaryColor"
        android:src="@drawable/ic_action_calendar"
        app:fabSize="normal"/>