gpt4 book ai didi

android - 使用 AndroidManifest 将背景设置为墙纸

转载 作者:行者123 更新时间:2023-11-29 01:22:31 24 4
gpt4 key购买 nike

我能否以某种方式将布局的背景图像设置为与墙纸相同但仅来自 AndroidManifest?我知道我可以使用这段代码以编程方式实现它:

final WallpaperManager wallpaperManager = WallpaperManager.getInstance(this);
final Drawable wallpaperDrawable = wallpaperManager.getDrawable();
RelativeLayout rl = (RelativeLayout) findViewById(R.id.main);//Substitute with your layout
rl.setBackground(wallpaperDrawable);

但我再重复一遍,我需要通过 AndroidManifetst 来完成。谢谢。

最佳答案

创建一个新类并从 AppCompatAcitvity 或“Activity”扩展它。重写其 oncreate 方法,如下所示。

public class myWallpaperActivity extends Activity{

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

final WallpaperManager wallpaperManager = WallpaperManager.getInstance(this);
final Drawable wallpaperDrawable = wallpaperManager.getDrawable();
View r1 = findViewById(android.R.id.content);
r1.setBackground(wallpaperDrawable);
}
}

现在扩展您在该类(class)中的所有 Activity 。

公共(public)类 MainActivity 扩展 myWallpaperActivity

如果你需要改进它并加载新的壁纸,如果它改变了并且 Activity 没有被破坏,你可以覆盖 onResume 方法而不是 onCreate 方法,如下所示

public class myWallpaperActivity extends Activity{


@Override
protected void onResume() {
super.onResume();
final WallpaperManager wallpaperManager = WallpaperManager.getInstance(this);
final Drawable wallpaperDrawable = wallpaperManager.getDrawable();
View r1 = findViewById(android.R.id.content);
r1.setBackground(wallpaperDrawable);
}
}

请注意,如果在设备上设置了动态壁纸,您将获得黑色背景

关于android - 使用 AndroidManifest 将背景设置为墙纸,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35969142/

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