- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我试图只在一个 fragment 上显示我的 FloatingActionButton 并隐藏在其余 fragment 上。我尝试了多个答案,但没有任何效果。我试过这个解决方案:
但它不起作用。我尝试在两个 fragment 上添加按钮,一个显示 FAB,一个隐藏 FAB 并且有效,但是一旦我删除按钮,它就不会自动显示。这是我的代码:
隐藏 fragment .xml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
</LinearLayout>
shown_fragment.xml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
</LinearLayout>
隐藏 fragment .java:
public class HiddenFragment extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
if (container == null) {
return null;
}
View view = inflater.inflate(R.layout.hidden_fragment, container, false);
final FloatingActionButton fab = ((MainActivity) getActivity()).getFloatingActionButton();
if (fab != null) {
((MainActivity) getActivity()).hideFloatingActionButton();
}
return view;
}
}
ShownFragment.java:
public class ShownFragment extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
if (container == null) {
return null;
}
View view = inflater.inflate(R.layout.hidden_fragment, container, false);
final FloatingActionButton fab = ((MainActivity) getActivity()).getFloatingActionButton();
if (fab != null) {
((MainActivity) getActivity()).showFloatingActionButton();
}
return view;
}
}
在我的 MainActivity.java 中我有这个:
public FloatingActionButton getFloatingActionButton() {
return fab;
}
public void showFloatingActionButton() {
fab.show();
}
public void hideFloatingActionButton() {
fab.hide();
}
我目前的方法行不通。当我启动应用程序时,启动的第一个 fragment 是 HiddenFragment。但是当我转到 ShownFragment 时,FAB 没有出现。我尝试了一种不同的方法,我向每个 fragment 添加了一个按钮,并将 showFloatingActionButton() 和 hideFloatingActionButton() 添加到按钮,并且有效。有谁知道我做错了什么?
最佳答案
要在 ViewPager 中显示/隐藏带 fragment 的 FloatingActionButton,只需使用 ViewPager.OnPageChangeListener
并在您想要的位置显示 FloatingActionButton,并在您想要的位置隐藏它。
这将进入 Activity :
mViewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
}
@Override
public void onPageSelected(int position) {
switch (position) {
case 0:
fab.hide();
break;
case 1:
fab.show();
break;
case 3:
fab.hide();
break;
default:
fab.hide();
break;
}
}
@Override
public void onPageScrollStateChanged(int state) {
}
});
关于java - 如何在 ViewPager 中使用 Fragments 隐藏和显示 FloatingActionButton?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37356207/
如果我正常运行应用程序,应用程序运行良好,但当我尝试测试它时显示错误,这里是错误的完整日志。 java.lang.RuntimeException: android.view.InflateExcep
只是想澄清一个概念上的疑问。 float 操作按钮的 hide() 函数类似于 visibility.GONE 还是 visibility.INVISIBLE? 最佳答案 简而言之:是的。 以下是从设
我在以下布局文件 activity_register 中有一个 float 操作按钮:
我在 CoordinatorLayout 中使用 FloatingActionButton,但与正常行为不同,我想在到达底部时显示它,以便让用户看到更多数据。 为此,我在 Internet 上找到了该
我在使用 FloatingActionButton 时遇到了一些问题,它在模拟器上可以正常工作,但是当我安装到我的手机(Galaxy s4,Android V4.4.4)时它无法正常工作我附上了一些图
我想在 Android 中创建一个类似于 Gmail 收件箱的简单布局。项目列表和用于添加新项目的 FloatingActionButton。在 Android Studio 的设计选项卡中,按钮显示
您好,我正在尝试实现 makovkastar 的 [FloatingActionButton][1] 库。 (因为它是向后兼容的。它适用于单个 FAB,但是当添加 2 个按钮时,“列表”似乎只附加到一
我无法制作正确的按钮。如果我们为 CoordinatorLayout 设置 android: layout_height = "90dp",那么一切都会发生,但我希望它没有硬值。我可以这样做吗?
我正在使用 this library这对于实现带有自定义菜单和许多其他内容的 float 操作按钮来说非常棒。 但是在使用这个库时,我遇到了更改 FloatingActionMenu 中的 Float
我需要创建一个带有白色边框并填充纯色(蓝色或灰色)的 FAB。 xml 我尝试了 How to change android design support library FAB Button bo
我越来越熟悉新的 support.design 库,但我正面临 FloatingActionButton 的这个问题。我试图以编程方式隐藏它,但按钮始终可见。 我觉得 app:layout_ancho
我在 api 21+ 中使用 FloatingActionButton 它显示完全正常,但如果我在 api 20 中查看它- 那么它在后台有四行。 下面是我的FloatingActionButton的
我正在使用 FloatingActionButton 和 OnClick。我想显示 PopupMenu 并使用漂亮的动画(旋转 90 度)旋转相同的 FAB 按钮。 点击时,它应该自己动画: 我能够在
最近我从GitHub下载了一段代码,并同步到我的android studio。这样做时我遇到了很多错误和问题,并以某种方式修复了其中的大部分。但是,我现在遇到的最后一个问题是我的 android st
我正在使用 Android 支持 FloatingActionButton (FAB) 和 CoordinatorLayout,我想将 FAB 锚定到 CardView。 这是我的代码:
我正在尝试在我的应用程序中使用 float 操作按钮 (FAB)。但是,当我声明相同时,我得到了错误: android.support.design.widget.FloatingActionButt
我目前正在开发一个使用 FloatingActionButton 的 Android 应用程序。我想使用快速拨号来执行多个操作,如 this 中所述,旋转/跳出操作按钮。 Google 在 Andro
我找不到获得无边框 FAB 的方法。例如,当我尝试时: 我得到: 请注意 FAB 周围的边界。我已经尝试过 adjustViewBounds="true"和 android:background="
目前正在开发一个应用程序,我需要在 折叠工具栏 的右下角添加“共享”和“添加”按钮(视差效果)。 它可能隐藏在滚动中或可能位于 Actionbar 上。添加了我想要实现的图像。目前不知道如何执行此操作
我正在尝试创建一个带有如下图标的 FloatingActionButton:https://github.com/jd-alexander/LikeButton 如您所见,该按钮是动画,而不仅仅是两个
我是一名优秀的程序员,十分优秀!