android 带有浮动按钮和 listView 的 ViewPager
android ViewPager with Floating Button and listView
您好,我的主 activity 上有一个 ViewPager 和 FloatingButton 并且查看寻呼机有一些 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
您好,我的主 activity 上有一个 ViewPager 和 FloatingButton 并且查看寻呼机有一些 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