【问题标题】:FloatingActionButton with Snackbar and transparent navigation bar带有 Snackbar 和透明导航栏的 FloatingActionButton
【发布时间】:2016-03-12 02:51:48
【问题描述】:

我的styles.xml 中有<item name="android:windowTranslucentNavigation">true</item>

由于导航栏透明,我给了浮动操作按钮的边距。

我的快餐栏位于透明导航栏下方时遇到问题。我通过给小吃店一个填充来解决这个问题,但现在我的小吃店和我的浮动操作按钮之间的空间很大。我尝试为我的浮动操作按钮创建自定义行为,但导航栏的自定义边距和小吃栏的填充在关闭或显示小吃栏时导致高度错误。

这是我在android.support.design.widget.CoordinatorLayout 中的浮动操作按钮,它具有android:fitsSystemWindows="true" 属性

<android.support.design.widget.FloatingActionButton
        android:id="@+id/myFAB"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_alignParentEnd="true"
        android:layout_alignParentRight="true"
        android:layout_gravity="bottom|right|end"
        android:layout_marginEnd="10dp"
        android:layout_marginRight="10dp"
        app:borderWidth="0dp"
        app:elevation="12dp"
        app:layout_behavior="...ScrollAwareFABBehavior"
        app:rippleColor="@color/md_indigo_700" />

我还没有找到在不破坏behavior 的情况下将FloatingActionButtonSnackBar 对齐到NavigationBar 上方的解决方案。

我的 CoordinatorLayout 在片段内。这是活动布局:

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/content_frame"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:fitsSystemWindows="true" />

片段布局:

<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:wheel="http://schemas.android.com/apk/res-auto"
    android:id="@+id/main_content"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:fitsSystemWindows="true">

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

    <com.pnikosis.materialishprogress.ProgressWheel
        android:id="@+id/progress_wheel"
        android:layout_width="80dp"
        android:layout_height="80dp"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:layout_gravity="center"
        android:visibility="gone"
        wheel:matProg_barColor="#5588FF"
        wheel:matProg_progressIndeterminate="true" />

    <android.support.v7.widget.RecyclerView xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/recyclerView"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:clipToPadding="false"
        android:paddingBottom="@dimen/navigation_bar_bottom_padding"
        app:layout_behavior="@string/appbar_scrolling_view_behavior" />

    <android.support.design.widget.FloatingActionButton
        android:id="@+id/myFAB"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_alignParentEnd="true"
        android:layout_alignParentRight="true"
        android:layout_gravity="bottom|right|end"
        android:layout_marginEnd="10dp"
        android:layout_marginRight="10dp"
        app:borderWidth="0dp"
        app:elevation="12dp"
        app:layout_behavior="...ScrollAwareFABBehavior"
        app:rippleColor="@color/md_indigo_700" />

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

【问题讨论】:

  • 不要使用填充和所有,试试这个,在floatingActionButton正上方使用一个空布局,并在要显示的布局的小吃栏中,指定这个空布局。
  • @HourGlass 小吃吧总是在布局中搜索下一个 coordinatorlayout。空视图不会有什么不同。
  • 好的,你能分享一下整个布局代码吗?
  • @HourGlass 我更新了帖子

标签: android material-design floating-action-button android-coordinatorlayout android-snackbar


【解决方案1】:

我认为这样就可以了。检查一下,如果它不起作用,请分享您的小吃店代码。

<android.support.design.widget.FloatingActionButton
    android:id="@+id/myFAB"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    app:layout_anchorGravity="bottom|right|end"
    android:layout_gravity="bottom|right"
    app:borderWidth="0dp"
    app:elevation="12dp"
    app:layout_behavior="...ScrollAwareFABBehavior"
    app:rippleColor="@color/md_indigo_700" />

【讨论】:

    猜你喜欢
    • 2017-04-26
    • 2016-10-27
    • 1970-01-01
    • 1970-01-01
    • 2015-11-26
    • 1970-01-01
    • 2019-06-27
    • 2021-10-10
    • 1970-01-01
    相关资源
    最近更新 更多