2014-07-26 1 views

답변

12

사용

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()에서 발생한다.

+0

훌륭한 일 로빈, 감사합니다. . – virho

7

@ Robin의 대답은 Activity의 배경을 홈 화면의 배경 무늬로 설정했지만 대부분의 경우 드로어를 전체 화면으로 왜곡 (가로로 압축)합니다.

정확한 해결책에 따라 다르거 나 나을 수있는 다른 해결책은 활동 테마를 Theme.Wallpaper에서 상속받은 테마로 설정하는 것입니다. 이 방법이 다소 쉽습니다. 시스템이 자동으로 적절한 바탕 화면을 보여 주며, 원하는 부분과 기대하는 부분입니다.

고해상도/styles.xml :

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

의 AndroidManifest.xml :

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