私のアプリでは、常に表示されている半透明のステータスを表示しようとしていますが、それがどのように行われるかを理解するのに苦労しています。
Facebook Messengerと私が見た他のいくつかのアプリはそれを行うので、それが可能であることがわかっています。それらは、SYSTEM_ALERT_WINDOW権限を使用して、ほとんど透過的なアクティビティまたはダイアログを「常にオントップ」で表示します。
しかし、私が理解していないのは、戻るボタンまたはホームボタンが押されたときに閉じられないようにする方法です。言い換えれば、彼らは活動のように振る舞うようには見えませんが、他に何ができるのかわかりませんか?
ここでの助けは大歓迎です:-)
あなたはの助けを借りて透明な活動を作成することができます
を使用して、xmlファイルのレイアウトの背景を透明にします
Android:background = "@ Android:color/transparent"
また、マニフェストファイルのテーマをその特定のアクティビティに対して透過的にします
また、バックプレスの場合は、onBackPressed()
メソッドをオーバーライドし、super.onBackPressed()
を削除します。
@Override
public void onBackPressed()
{
// TODO Auto-generated method stub
}
以下のコードを使用できます。内部ストレージからアプリをインストールできないことを除いて、私にとってはうまくいきました。
LayoutInflater layoutInflater = (LayoutInflater) getSystemService(LAYOUT_INFLATER_SERVICE);
View oView = layoutInflater.inflate(R.layout.activity_transperant, null);
WindowManager.LayoutParams params = new WindowManager.LayoutParams(
WindowManager.LayoutParams.TYPE_SYSTEM_OVERLAY,
0 | WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE,
PixelFormat.TRANSLUCENT);
WindowManager wm = (WindowManager) getSystemService(WINDOW_SERVICE);
wm.addView(oView, params);