2014-07-26 12 views

Antwort

12

Verwenden

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

das aktuelle Hintergrundbild zu erhalten. Dann legen Sie es als Ihren eigenen App Hintergrund:

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

All dies in der onCreate passieren sollte(), wenn Sie wollen es als Anfang Hintergrund haben.

+0

große Arbeit Robin, danke. . – virho

7

Während @ Robins Antwort den Hintergrund der Aktivität auf das Hintergrundbild des Startbildschirms setzt, wird das gesamte Zeichen gleichzeitig angezeigt, was es in den meisten Fällen verzerrt (horizontal komprimiert).

Eine andere Lösung, die je nach Ihren Anforderungen besser oder schlechter sein kann, besteht darin, das Thema Ihrer Aktivität auf ein Thema zu setzen, das von Theme.Wallpaper erbt. Ich finde das etwas einfacher, und das System zeigt Ihnen automatisch ein passendes Stück des Hintergrundbildes, das ich möchte und erwarte.

res/styles.xml:

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

AndroidManifest.xml:

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