現在、私はアプリケーションの背景を電話の壁紙として表示しています。いつも壁紙として背景画面を設定するには?
getWindow().setFlags(WindowManager.LayoutParams.FLAG_SHOW_WALLPAPER,
WindowManager.LayoutParams.FLAG_SHOW_WALLPAPER);
しかし何らかの理由で、アイコンを押してアプリケーションを起動したときです。これは、ホーム画面にアイコンが表示されたアクティビティ画面を表示するだけです。私はダイアログを使用しませんでしたが、レイアウトはちょうどそのように設定されているので、ダイアログのように見えます。だから私は、このアクティビティが実行されているときはいつでも壁紙を表示したいだけです。しかし、それは異なるアクティビティに切り替えるなど、次のイベントが発生した後にのみ壁紙を表示します。私はすでにそのコードをonCreate()
に置き、いつでも私はsetContentView()
.....そのようなことを行う方法があるのでしょうか、まったくないのですか?長い検索や試行錯誤の後
rl = (RelativeLayout)findViewById(R.id.someid);
//relative layout is my root node in main.xml (yours may be linearlayout)
WallpaperManager wm = WallpaperManager.getInstance(this);
Drawable d = wm.peekDrawable();
rl.setBackgroundDrawable(d);// You can also use rl.setBackgroundDrawable(getWallpaper);
は二回、それを読んでいません。あなたはスクリーンショットを供給できますか? (おそらく、再描画のためにinvalidate()などの呼び出しのように聞こえるが、実際はわからない)。 – Warpzit