android 带有浮动按钮和 listView 的 ViewPager

android ViewPager with Floating Button and listView

您好,我的主 activity 上有一个 ViewPagerFloatingButton 并且查看寻呼机有一些 Fragments with ListView 我想知道当我在 viewpager 上的列表滚动这个 FloatingButton 隐藏和显示时有什么办法吗?

试试这个:

我们将在 main activity 中添加一个函数,该函数将从 fragment 中调用,该函数将 hide/show 浮动操作按钮。

主线Activity

//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替换为主要的activityclass名字,这大概就是MainActivity,查看mainactivity

中class的名称
 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