私はAndroid開発に非常に慣れていないので、答えは非常に簡単かもしれません.
私は自分のプロジェクトでこのライブラリを使用してい ます https://github.com/jfeinstein10/SlidingMenu
カメラを表示するサーフェス ビューを持つメイン レイアウト (activity_main) があります。このライブラリは、レイアウト ファイル (menu_frame) を使用します。私の問題は、そのレイアウト ファイルを自分のレイアウト (activity_main) の上に重ねたいということです。そのため、メニュー (menu_frame) がレイアウト ファイルをプッシュする代わりに、それをオーバーレイし、レイアウト ファイルをそのまま残します。
目的は、メニューの不透明度を最小限に設定して、メニューが開いている間でもその背後にあるカメラを見ることができるようにすることです。
setcontentview(R.layout.activity_main) を呼び出してから、setbehindcontentview(R.layout.menu_frame) を呼び出します。メニューに id を与えて、menu_frame レイアウトのフレームレイアウトを activity_main レイアウトに追加すると、setbehindcontentview(R.id.framelayoutId) を呼び出すことができると思いましたが、うまくいきません。
ここに私のコードの抜粋があります:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
final int activity = R.layout.activity_main;
setContentView(activity);
setBehindContentView(R.layout.menu_frame);
SlidingMenu sm = getSlidingMenu();
sm.setShadowWidthRes(R.dimen.shadow_width);
sm.setShadowDrawable(R.drawable.shadow);
sm.setBehindOffsetRes(R.dimen.slidingmenu_offset);
sm.setFadeDegree(0.35f);
sm.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN);
activity_main.xml:
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<SurfaceView
android:id="@+id/surfaceview"
android:layout_width="fill_parent"
android:layout_height="match_parent" />
</FrameLayout>
menu_frame.xml:
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#FFFFFF" />
要約すると、1 つのレイアウト ファイルを別のレイアウト ファイルにオーバーレイするか、またはそれらを互いにオーバーレイする方法で両方を結合する必要があります。
前もって感謝します