2

こんにちは。私は、オブジェクトが作成され、WindowManager ビューが割り当てられたサービスを持っています - パラメータ background (mView.setBackgroundColor(color) が割り当てられています。実際には、メインのデスクトップ画面とステータス バーのみに View が描画され、ナビゲーション バーは表示されません。 Android のナビゲーション バー (ボタン) の上に描画を表示するにはどうすればよいですか? 現時点では:

@Override
public void onCreate() {
    super.onCreate();
    mView = new LinearLayout(this);
    WindowManager.LayoutParams params = new WindowManager.LayoutParams(
            WindowManager.LayoutParams.MATCH_PARENT,
            WindowManager.LayoutParams.MATCH_PARENT,
            WindowManager.LayoutParams.TYPE_SYSTEM_OVERLAY,
            0 | WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE| WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN,
            PixelFormat.TRANSLUCENT);


    WindowManager wm = (WindowManager) getSystemService(WINDOW_SERVICE);
    wm.addView(mView, params);
}

結果: ここに画像の説明を入力します

比較的言えば、ナビゲーションバーを含めて、赤でペイントする必要があるのはこれだけです。ありがとうございました。

4

1 に答える 1

0
int value_below_screen=100;
params.y=-value_below_screen;

これにより、下の画面が「value_below_screen」だけオフセットされます

于 2016-10-02T09:56:15.540 に答える