单击右上角的Floating ActionButton可以单击RecyclerView项

时间:2015-12-25 05:24:47

标签: android android-recyclerview floating-action-button

我想在recyclerview上添加浮动操作按钮但问题是当我点击浮动操作按钮Recyclerview项目时点击如何删除此问题

见下面的代码

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".screens.ShowSubjectsFrag"
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools">
    <android.support.v7.widget.RecyclerView
        android:id="@+id/MainList"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_gravity="center">
    </android.support.v7.widget.RecyclerView>
    <android.support.design.widget.FloatingActionButton
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@android:drawable/ic_input_add"
        app:layout_anchor="@id/MainList"
        android:layout_margin="@dimen/fab_margin"
        android:layout_alignParentBottom="true"
        android:layout_alignParentRight="true"
        android:layout_alignParentEnd="true" />
</RelativeLayout>

3 个答案:

答案 0 :(得分:8)

View#onClickListener中写下FloatingActionButton的{​​{1}},因为目前您的Activity/Fragment未注册任何FloatingActionButton。 有同样的问题 干杯

答案 1 :(得分:-1)

请尝试在xml中使用以下代码:

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent">

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

</RelativeLayout>

<android.support.design.widget.FloatingActionButton
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:src="@android:drawable/ic_input_add"
    app:layout_anchor="@id/MainList"
    android:layout_margin="@dimen/fab_margin"
    android:layout_alignParentBottom="true"
    android:layout_alignParentRight="true"
    android:layout_alignParentEnd="true" />

将两个视图放在不同的布局中,以便它们可以与不同的z级别相关联。

有关详细信息,请查看设计实践here

谢谢.. !!

答案 2 :(得分:-1)

您在RecyclerView内使用RelativeLayout,并且已将其widthheight都设置为match_parent!基本上,您RecyclerView隐藏了FloatingActionButton

如果我是你,我会做以下事情:

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".screens.ShowSubjectsFrag"
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools">
    <android.support.v7.widget.RecyclerView
        android:id="@+id/MainList"
        android:layout_width="match_parent"
        android:layout_height="300dp" <!-- Use a fixed height over here -->
        android:layout_alignParentTop="true">
    </android.support.v7.widget.RecyclerView>
    <android.support.design.widget.FloatingActionButton
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@android:drawable/ic_input_add"
        app:layout_anchor="@id/MainList" 
        android:layout_margin="@dimen/fab_margin"
        android:layout_alignParentBottom="true"
        android:layout_alignParentRight="true"
        android:layout_alignParentEnd="true" />
</RelativeLayout>

我还怀疑layout_anchor不是必需的。尝试删除它。无论如何,我认为主要问题是RecyclerView隐藏了您的FloatingActionButton。您可以在设计区域中检查相同内容(如果您使用的是Android Studio)。

如果有帮助,请告诉我,否则我会深入探讨!