【问题标题】:android ViewPager with Floating Button and listView带有浮动按钮和 listView 的 android ViewPager
【发布时间】:2018-06-19 01:49:58
【问题描述】:

嗨,我的主要活动上有一个 ViewPagerFloatingButton,而视图寻呼机有一些带有 ListView 的 Fragments 我想知道有没有当我在 viewpager 上的列表滚动此 FloatingButton 时隐藏和显示?

【问题讨论】:

    标签: android listview floating-action-button


    【解决方案1】:

    试试这个:

    我们将在主要活动中添加一个函数,该函数将从片段中调用,该函数将隐藏/显示浮动操作按钮。

    在 MainActivity

    //Make FAB accessible on all function, declare it in MainActivity's class
    FloatingActionButton fab;
    
    public void fabShowHide(Boolean hide){
         if(hide)
             fab.hide();
         else
             fab.show();
    }
    

    在您的片段中,将 onScrollListner 附加到您的列表视图

    YourActivityClassName换成主Activity的类名,这个应该是MainActivity,查看主Activity中的类名

     listview.setOnScrollListener(new AbsListView.OnScrollListener() {
        @Override
        public void onScrollStateChanged(AbsListView view, int scrollState) {
    
    
        }
    
        @Override
        public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {
    
            int lastItem = firstVisibleItem + visibleItemCount;
            if (lastItem == totalItemCount && firstVisibleItem > 0) {
            //Calling the function from main activity (hide)
                ((YourActivityClassName)getActivity()).fabShowHide(true);
            }
            else {
            //Calling the function from main activity (show)
                ((YourActivityClassName)getActivity()).fabShowHide(false);
            }
        }
    });
    

    主 Activity 中的浮动操作按钮

    (删除应用程序行为,您不需要它,我们通过程序创建它)

    <android.support.design.widget.FloatingActionButton
        android:id="@+id/fab"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="bottom|end"
        android:layout_margin="@dimen/fab_margin"
        android:src="@android:drawable/ic_dialog_email" />
    

    祝你好运:)

    来源:

    Call an activity method from a fragment

    FloatingActionButton hide on list scroll

    【讨论】:

    • 我搜索了一下有什么办法可以在此使用 scrollawarefabbehavior 吗?或者我只做一个好的动画 fab.setVisibilty(GONE) 并且像这样展示
    • 你好,如果你使用我的方法,它会做一个很好的隐藏/显示动画 - 当使用 FAB 的方法 fab.show() 或 fab.hide() 时,它会做一个很好的显示动画。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-01-23
    • 1970-01-01
    • 2016-07-02
    • 2019-06-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多