gpt4 book ai didi

java - FAB 在每个 Activity 中展示

转载 作者:行者123 更新时间:2023-11-29 04:17:25 24 4
gpt4 key购买 nike

我正在尝试构建一个 float 操作按钮,它将显示在正在运行的每个 Activity 中。我将如何完成让布局显示在每个 Activity 中。

我见过 WindowManager 的一些方法,但我不喜欢它位于应用程序之上并且需要叠加方面。是否有更好的方法使用 ZIndex 或在转换新 Activity 时从服务添加到 View 等来实现此目的?

谢谢。

最佳答案

您可以使用静态方法创建一个单独的类,这将创建一个 FabButton 并将其附加到您的 Root View 。

    public class FabButton {
public static void init(AppCompatActivity activity){
View root = root.getWindow().getDecorView();
FloatingActionButton fab = new FloatingActionButton(getContext());
fab.setId(R.id.fab);
fab.setLayoutParams(new RelativeLayout.LayoutParams(
RelativeLayout.LayoutParams.WRAP_CONTENT,
RelativeLayout.LayoutParams.WRAP_CONTENT
));
root.addView(fab);
}
}

你可以在任何你想添加的地方使用它。在您的 Activity 的 onCreate 中,调用:

FabButton.init(this);

编辑:我根据您的要求找到了更好的答案

在你的应用程序类'onCreate中,添加

registerActivityLifecycleCallbacks(this);

然后实现ActivityLifecycleCallbacks的方法。

现在

 @Override
public void onActivityCreated(Activity activity, Bundle savedInstanceState) {
FabButton.init(activity);
}

关于java - FAB 在每个 Activity 中展示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51459527/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com