通过framelayout调用setcontentview

时间:2012-12-01 19:53:55

标签: android android-layout android-framelayout

我对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布局中的framelayout添加到我的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" />

总而言之,我希望一个布局文件覆盖另一个布局文件,或者以一种将它们叠加在彼此之上的方式组合两者。

提前致谢

0 个答案:

没有答案