Ich möchte den Hintergrund meiner App so einstellen, dass er dem Hintergrundbild meines Startbildschirms entspricht. Wie kann ich den Startbildschirm in activity.xml erhalten? Kann ich das machen?Legen Sie den Hintergrund der App so fest, dass er dem Hintergrundbild des Startbildschirms entspricht.
Antwort
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.
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"
/>
große Arbeit Robin, danke. . – virho