【问题标题】:How to make button be visible only at the end of recycler view?如何使按钮仅在回收站视图结束时可见?
【发布时间】:2015-05-30 06:09:08
【问题描述】:

我设法让按钮一直可见,这很难看。

根据新材料设计,我们应该使用 RecyclerView 而不是 ListView,所以我想知道如何让按钮仅在用户滚动到列表末尾时出现,但始终不可见。

此外,由于一些未解决的问题 72217,回收站视图无法在工作室中呈现。所以我看不到元素按钮和回收站视图如何相互对齐

mainActivity.xml:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">

<include android:id="@+id/app_bar" layout="@layout/toolbar"/>

<ImageButton
    android:id="@+id/button_previous"
    android:layout_alignParentBottom="true"
    android:layout_alignParentLeft="true"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:clickable="true"
    android:minHeight="25dp"
    android:minWidth="70dp"
    android:src="@android:drawable/ic_media_previous"/>

<ImageButton
    android:id="@+id/button_next"
    android:layout_alignParentBottom="true"
    android:layout_alignParentRight="true"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:clickable="true"
    android:minHeight="25dp"
    android:minWidth="70dp"
    android:src="@android:drawable/ic_media_next"/>
<view
    android:id="@+id/recycler_view"
    android:layout_below="@id/app_bar"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    class="android.support.v7.widget.RecyclerView"/>

第二个问题:我只能看到一个 FORWARD 按钮,而不是 2 个按钮,即使我在上面的代码中声明并使用了 两个前进后退按钮的属性 alignParentright = true 和 alignParentLeft=true

【问题讨论】:

    标签: android-5.0-lollipop material-design android-recyclerview main-activity


    【解决方案1】:
    1. RecyclerView 加号按钮

    我看到了两种不同的解决方案,第一个是将 RecyclerView 和按钮放在 ScrollView 内,禁用 RecyclerView 垂直滚动,滚动将由 ScrollView 管理。就像下面的代码:

    <ScrollView
        android:layout_width="match_parent"
        android:layout_height="match_parent" >
    
        <LinearLayout
            android:id="@+id/partner_detail_container"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical" >
    
            <view
                android:id="@+id/recycler_view"
                android:layout_below="@id/app_bar"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                class="android.support.v7.widget.RecyclerView"/>
    
            <ImageButton
                android:id="@+id/button_next"
                android:layout_alignParentBottom="true"
                android:layout_alignParentRight="true"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:clickable="true"
                android:minHeight="25dp"
                android:minWidth="70dp"
                android:src="@android:drawable/ic_media_next"/>
        </LinearLayout>
    </ScrollView>
    

    第二个选项是在回收器视图的滚动位于底部时使用 setVisibility,this 应该可以帮助您对该选项进行排序。

    1. 只看到一个按钮

    原因是因为两个按钮的宽度都是match_parent,一个是隐藏的,另一个是隐藏的,如果你将宽度设置为wrap_content,它就会在那里。

    【讨论】:

    • @Israel_Menis,滚动视图标签不起作用......问题是:我的滚动视图标签在另一个文件书籍详细信息中 - 下一个布局显示每本书的图像和标题以及其他详细信息.. .. 该应用程序已经可以滚动,但由于 bookdetails.xml 中卡片视图的滚动视图
    • 需要全面了解您的布局才能找到最佳解决方案,无论如何,第二个选项(在 Scroll 侦听器中对按钮使用 setVisibility)应该可以工作。
    猜你喜欢
    • 2020-08-07
    • 1970-01-01
    • 2016-05-15
    • 2020-09-05
    • 2022-01-03
    • 2021-12-17
    • 2021-10-01
    • 1970-01-01
    • 2021-07-22
    相关资源
    最近更新 更多