に追加これは私のレイアウトファイルのとき:これは私がSystem alert windows
としてそれを追加する方法ですボタンウィンドウマネージャ
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@android:color/transparent"
android:orientation="vertical">
<SurfaceView
android:id="@+id/mediaView"
android:layout_width="300dp"
android:layout_height="200dp"
android:background="@android:color/transparent" />
<Button
android:id="@+id/btnClose"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="close" />
</FrameLayout>
:
// hiển thị floating view
WindowManager.LayoutParams params = new WindowManager.LayoutParams(
WindowManager.LayoutParams.WRAP_CONTENT,
WindowManager.LayoutParams.WRAP_CONTENT,
WindowManager.LayoutParams.TYPE_PHONE,
WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE | WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS,
PixelFormat.TRANSLUCENT);
params.gravity = Gravity.TOP | Gravity.LEFT;
params.x = 0;
params.y = 100;
windowManager = (WindowManager) getSystemService(WINDOW_SERVICE);
windowManager.addView(abovedFrameLayout, params);
ここに私の問題は、それに関係なくどのような私です試してみてください、ボタンは決して示されません。常にSurfaceView
の下にあります。私は:mSurfaceView.setZOrderMediaOverlay(false);
mSurfaceView.setZOrderOnTop(false);
とテストしましたが、何も動作していないようです。提案はありますか?ありがとう。
線形レイアウトをFramelayoutの代わりに –
@ MCZ私は線形レイアウトを使用しましたが、それでも彼はサーフェイスビューがボタンと重なっています。 –
私はスムージングされたコードを提出してくれることを願っています –