我的应用使用 Theme.Wallpaper 系列,这意味着当前壁纸用作应用的背景。这可能会导致可读性问题(取决于用户最喜欢的壁纸),因此我希望允许用户选择图像作为背景。
我试图实现它的方式是:
@Override
protected void onResume() {
// Get wallpaper preferences to check if user selected a wallpaper and
// display it
SharedPreferences wallpaperPref = getSharedPreferences(WallpaperActivity.WALLPAPER_PREFERENCES, MODE_PRIVATE);
int selectedWallpaper = wallpaperPref.getInt(WallpaperActivity.SELECTED_WALLPAPER, 0);
if (selectedWallpaper != 0) {
findViewById(R.id.pager).setBackgroundResource(selectedWallpaper);
getSupportActionBar().setBackgroundDrawable(getResources().getDrawable(selectedWallpaper));
} else {
findViewById(R.id.pager).setBackgroundColor(Color.TRANSPARENT);
getSupportActionBar().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
}
super.onResume();
}
共享首选项包含所选壁纸的资源 ID。
我的问题是标题栏和操作栏对此没有响应。有没有办法让他们也接受新的背景?