Androidのディスプレイの前面に常にあるアクティビティを作成したいと考えています。 入力を受け取らず、その下にあるアプリケーションに渡します。 HUDのようなもの。Androidで常にトップのフルスクリーンオーバーレイアクティビティを作成する方法
基本的なウィンドウタイプをTYPE_SYSTEM_ALERTに設定する必要があることを調査できましたが、Androidが自分のコードを無視しているように見えます。マニフェストのandroid.permission.SYSTEM_ALERT_WINDOWパーミッションを削除しても例外はスローされません。 (このウィンドウタイプを使用する必要があります)。ダイアログでALERTタイプを使用しようとしたときに正常に機能しましたが、ダイアログをフルスクリーンの透過エンティティにすることはできません。 ここに私のコードがあります。多分単純なものがありません。
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_ALERT);
getWindow().setBackgroundDrawableResource(android.R.color.transparent);
getWindow().setFormat(PixelFormat.TRANSLUCENT);
setContentView(R.layout.main);
}
半透明の設定は、それ以外の場合にもうまくいきませんでした、XMLマニフェストで外部から有効にする必要があります。
<item name="android:windowIsTranslucent">true</item>
あなたのonCreateメソッドはどのようになったのですか?私は今自分でこれをテストしようとしています。 – Rell3oT
ViewGroup mTopView =(ViewGroup)App.inflater.inflate(R.layout.main、null); @tmouseここでAPPとは何ですか? – rana
@tmouse R.layout.mainとは何ですか?アクティビティのレイアウトですか?またはフィラービューが透明? – Premier