Java 安卓:无论有多少活动开始,如何在上面添加一层?
我想播放gif动画,该视图将每秒在屏幕上移动一次,但如果我开始一项活动,我需要再次添加该视图,并且位置将发生变化 请参阅下面的附图。我需要把这个贴在每个视图上。有办法吗Java 安卓:无论有多少活动开始,如何在上面添加一层?,java,android,layer,Java,Android,Layer,我想播放gif动画,该视图将每秒在屏幕上移动一次,但如果我开始一项活动,我需要再次添加该视图,并且位置将发生变化 请参阅下面的附图。我需要把这个贴在每个视图上。有办法吗 将此视图设置为WindowManager,它将始终显示在顶部为应用程序中的所有活动创建一个基本活动,以显示覆盖视图或布局。 您可以在其他活动上继承BaseActivity 您可以添加支持gif的视图或布局 例如,我在showOverlay方法中添加了overlay_布局。 您可以在任何需要显示的位置调用showOverlay方法
将此视图设置为WindowManager,它将始终显示在顶部为应用程序中的所有活动创建一个基本活动,以显示覆盖视图或布局。 您可以在其他活动上继承BaseActivity 您可以添加支持gif的视图或布局 例如,我在showOverlay方法中添加了overlay_布局。 您可以在任何需要显示的位置调用showOverlay方法,并可以使用removeOverlay with conditions进行删除。 请注意,showOverlay和removeOverlay应位于BaseActivity中
void showOverlay(){
LayoutInflater inflater = activity.getLayoutInflater();
layout = inflater.inflate(R.layout.overlay_layout, null);
WindowManager.LayoutParams params = new WindowManager.LayoutParams();
params.gravity = Gravity.BOTTOM;
params.height = WindowManager.LayoutParams.WRAP_CONTENT;
params.width = WindowManager.LayoutParams.WRAP_CONTENT;
params.type = WindowManager.LayoutParams.TYPE_APPLICATION;
final WindowManager mWindowManager = (WindowManager);
activity.getApplicationContext().getSystemService(Context.WINDOW_SERVICE);
mWindowManager.addView(layout, params);
}
void removeOverlay(){
windowManager.removeView(view);
}
你能发布一些java代码或图像吗?你是否尝试过使用Android内置动画?我能播放gif。但我需要这个gif视图总是贴在Z方向的顶部。你们指的是导航抽屉吗?喜欢这个链接吗?不需要。即使我开始一项活动,我也需要一个gif。你能解释更多吗?我已经找到了一种方法来实现这一点。它与您的答案类似,但它使用的是服务。无论如何,谢谢你的帮助。