繁体   English   中英

浮动操作按钮阻止其他组件

Floating Action Button blocking other components

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

Google 的新 Material Design 建议使用浮动操作按钮来吸引用户对该屏幕上的主要操作的注意。 在列表视图中有很多这样的例子。

现在,假设您的列表视图有足够的项目来填满屏幕,从而无法滚动。 如果您的列表项具有用户可以与之交互的特定组件,例如开关或最喜欢的星星,则可能是浮动操作按钮阻止了该组件。 我们应该如何处理这个案子?

编辑:这实际上总是发生在您列表中的最后一项

6 个回复

在列表页脚中添加一个与浮动按钮高度相同的空白视图。 因此,当您滚动列表时,最后一项会出现,浮动按钮不会隐藏列表的最后一项。 这是一个简单快捷的解决方案。

我只是做我认为 Google Gmail 应用程序正在做的事情,并向 RecyclerView(或 ListView)添加填充。 请记住将clipToPadding设置为false以便RecyclerViewCoordinatorLayout正确运行。

<android.support.v7.widget.RecyclerView 
    android:id="@+id/my_recyclerview" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:clipToPadding="false" 
    android:paddingBottom="100dp" />

我现在刚遇到这个问题,我是这样解决的:

public void addBlankSpace(ListView listView)
{
    Space space = new Space(listView.getContext());
    space.setMinimumHeight(Core.dpToPx(50));
    listView.addFooterView(space);
}

我想总有更好的方法。 比如检查你是否需要它。 然后才显示它。 但就目前而言,这个简单的代码工作得很好。

这是转换函数:

public static int dpToPx(int dp)
{
    return (int)(dp * Resources.getSystem().getDisplayMetrics().density);
}

或者我们可以添加一些填充:

listView.setPadding(0, 0, 0, Core.dpToPx(50));

在加载列表时,您可以创建一个标志并查找列表中的项目是否是屏幕中最后可见的项目,而不是隐藏浮动按钮。

使用它来查找最后一个可见的项目

int currentPosition = list.getLastVisiblePosition();

您将获得项目的最后一个数字。即,如果第 7 个项目在您的列表中最后可见,那么它将返回 currentPosition = 7 的值;

获得适合屏幕的项目数量后,现在检查标志

if(listAdapterItemsArray.get(position) == currentPosition) {
    //hide button
} else {
    //nothing 
}

您可以使用将谷歌操作按钮的位置设置为左上角

     `android:layout_gravity="top|left"`

这样它看起来不错并且不会隐藏任何东西。

将底部填充添加到RecyclerView 另外,不要使用android:layout_height="wrap_content"除非您在layout manager覆盖了onMeasure 当前的布局管理器尚不支持换行内容。

添加属性android:clipToPadding="false"以实现目标。 正如评论中提到的。

1 浮动操作按钮阻止横幅

我知道这可能是重复的,但我没有在下面提供的链接中找到我的答案。 我的问题很常见,我猜浮动操作按钮阻止横幅广告的位置。 这是我的 xml: 这是我在内容 xml 中的横幅代码: 我尝试了此链接中提供的解决方案,但它不符合我的需要,浮动按钮需要在横幅上方有一些空间。 预期输出: ...

4 浮动操作按钮组件在React中抛出错误

我是React JS的新手。 我想在我的应用程序中使用FAB(浮动操作按钮)材料ui react组件。 但在运行应用程序时,它会抛出编译错误,我无法弄明白。 我在这里错过了什么吗? 以下是我试过的代码。 index.js 我的另一个组件名为Buttons.js ...

7 浮动操作按钮和RecyclerView

当所有RecyclerView项目都适合屏幕时,是否可以显示“浮动操作按钮”。 问题是-当“浮动操作按钮”被隐藏并且RecyclerView几乎变为空时-没有滚动的位置,因此未显示“浮动操作按钮”。 ...

9 浮动操作按钮不再透明

我试图在我的android项目中制作一个浮动操作按钮。 到目前为止,我有这个 ,看起来不错。 唯一的问题是,当我转到应用程序的另一部分,然后突然使用浮动操作按钮返回到片段时,它看起来像这样 。 透明度完全消失了。 我的布局xml看起来像这样: 我的圆形可绘制对象如下所 ...

10 如何创建浮动操作按钮?

在使用android开发人员提供的浮动操作按钮时,我不禁想知道他们到底是如何从头实现浮动操作按钮的。 1)我想知道浮动操作按钮是如何制作的 2)android如何仅使加号动画以成为其他东西? 这可能是其他帖子的重复,但我已经检查过了,似乎找不到任何问这个问题的帖子。 如果您发 ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM