8

すべてのアプリケーションの上に配置される UI またはウィジェットを Android で作成できますか? このようなウィジェットを持つアプリケーションがあります。1 つの例では、すべてのアプリケーションの上にカメラ アイコンがあり、クリックすると画面がキャプチャされます。

4

2 に答える 2

18

何かを表示したいだけの場合は、ロック画面でもすべての上に表示できます。

何かをクリックできるようにしたい場合は、ロック画面以外の上に表示できます。

以下はサンプルです。必要に応じて変更してください。

サービスを作成し、次の操作を行います。

//These three are our main components.
WindowManager wm;
LinearLayout ll;
WindowManager.LayoutParams ll_lp;

//Just a sample layout parameters.
ll_lp = new WindowManager.LayoutParams();
ll_lp.format = PixelFormat.TRANSLUCENT;
ll_lp.height = WindowManager.LayoutParams.FILL_PARENT;
ll_lp.width = WindowManager.LayoutParams.FILL_PARENT;
ll_lp.gravity = Gravity.CLIP_HORIZONTAL | Gravity.TOP;

//This one is necessary.
ll_lp.type = WindowManager.LayoutParams.TYPE_SYSTEM_ALERT;

//Play around with these two.
ll_lp.flags = WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE;
ll_lp.flags = ll_lp.flags | WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE;

//This is our main layout.
ll = new LinearLayout(this);
ll.setBackgroundColor(android.graphics.Color.argb(0, 0, 0, 0));
ll.setHapticFeedbackEnabled(true);

//And finally we add what we created to the screen.
wm.addView(ll, ll_lp);
于 2012-07-16T05:37:42.703 に答える