Установите фон приложения так же, как обои на рабочий стол

Я хочу, чтобы фон моего приложения был таким же, как обои моего домашнего экрана. Как получить обои рабочего стола в файле activity.xml? Я могу это сделать?

Solutions Collecting From Web of "Установите фон приложения так же, как обои на рабочий стол"

использование

final WallpaperManager wallpaperManager = WallpaperManager.getInstance(this); final Drawable wallpaperDrawable = wallpaperManager.getDrawable(); 

Чтобы получить текущие обои. Затем установите его в качестве фона вашего собственного приложения:

 LinearLayout ll = (LinearLayout) findViewById(R.id.myLinearLayout);//Substitute with your layout ll.setBackground(wallpaperDrawable); 

Все это должно произойти в onCreate (), если вы хотите иметь его в качестве исходного фона.

В то время как ответ @ Robin устанавливает фон Activity на обои для домашнего экрана, он отображает сразу весь чертеж, который в большинстве случаев искажает его (горизонтально сжимает его).

Другое решение, которое может быть лучше или хуже в зависимости от ваших точных потребностей, заключается в том, чтобы настроить тему Activity на то, что наследуется от Theme.Wallpaper . Я нахожу это несколько проще, и система автоматически показывает вам соответствующий фрагмент обоев, чего я хочу и чего ожидать.

Рез / styles.xml:

 <style name="wallpaper_theme" parent="@android:style/Theme.Wallpaper"> </style> 

AndroidManifest.xml:

 <activity ... android:theme="@style/wallpaper_theme" />