在我的 android 应用程序中,我有带有一些 fragment 的 ViewPager。我想在其中一个 fragment 中使用和显示圆形 float 操作按钮菜单,但 FAB 在所有 fragment 中都可见。如何解决这个问题并仅在一个 fragment 中显示 FAB。顺便说一句,它是图书馆:github
fragment .java
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//Floating Action Button
//Create a button to attach the menu
ImageView movieFAB = new ImageView(getActivity());
movieFAB.setImageResource(R.drawable.ic_launcher);
//Create menu items
FloatingActionButton actionButton = new FloatingActionButton.Builder(getActivity()).setContentView(movieFAB).build();
ImageView iconSortName = new ImageView(getActivity());
iconSortName.setImageResource(R.drawable.icon_star);
ImageView iconSortDate = new ImageView(getActivity());
iconSortDate.setImageResource(R.drawable.icon_cloud);
ImageView iconSortRatings = new ImageView(getActivity());
iconSortRatings.setImageResource(R.drawable.icon_communication);
SubActionButton.Builder itemBuilder = new SubActionButton.Builder(getActivity());
SubActionButton buttonSortName = itemBuilder.setContentView(iconSortName).build();
SubActionButton buttonSortDate = itemBuilder.setContentView(iconSortDate).build();
SubActionButton buttonSortRatings = itemBuilder.setContentView(iconSortRatings).build();
//Create the menu with the items
FloatingActionMenu actionMenu = new FloatingActionMenu.Builder(getActivity())
.addSubActionView(buttonSortName)
.addSubActionView(buttonSortDate)
.addSubActionView(buttonSortRatings)
.attachTo(actionButton)
.build();
}
感谢您的帮助!
最佳答案
创建 OnPageChangeListener
的实现,其中覆盖 onPageSelected 方法。
@Override
public void onPageSelected(int position) {
if (position == VALID_POSITION) {
fabMenu.setVisibility(View.GONE);
} else {
fabMenu.setVisibility(View.VISIBLE);
}
}
然后设置到viewPager
pager.setOnPageChangeListener(....);
希望对你有帮助
关于android - ViewPager fragment 中的 CircularFloatingActionMenu,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29060016/