0

我的应用程序中有多个活动,我希望在所有活动中都出现一个滑动抽屉。我遵循这里给出的方法。

该应用程序以带有滑动抽屉手柄的黑屏开始。

问题是滑动抽屉可见,但放置在 FarmeLayout 中的活动布局可见。

活动肯定在那里。当第一个活动加载时,祝酒词出现。所以我修改了我的第一个活动,只有一个按钮可以进入下一个活动。

接下来,我使用了 AVD 上的方向键,然后按下 ok,这会调出下一个活动的 Toast。第二个活动也被隐藏了。

那我错过了什么???

我的滑动抽屉布局 xml (LinearLayout) 最后带有农场布局:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent" 
    android:orientation="horizontal"
    android:gravity="center_vertical">

        <SlidingDrawer
        android:id="@+id/slidingDrawer"
        android:handle="@+id/drawerHandle"
        android:content="@+id/contentLayout"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:persistentDrawingCache="all">

        <ToggleButton
            android:id="@+id/drawerHandle"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:maxHeight="5dp"
            android:textSize="14dp"
            android:textStyle="italic"
            android:background="#BB00FF"
            android:rotation="270"
            android:textOn=""
            android:textOff=""/>

        <LinearLayout
            xmlns:android="http://schemas.android.com/apk/res/android"
            android:id="@+id/contentLayout"
            android:gravity="center"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:contentDescription="@string/todo">

            <TextView android:layout_width="fill_parent"
                android:layout_height="wrap_content" 
                android:layout_gravity="top"
                android:text="@string/list_view_" />
        </LinearLayout>
    </SlidingDrawer>

    <FrameLayout
    android:id="@+id/act_content"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" 
    android:layout_gravity="bottom"
    android:background="#808080"
    android:visibility="visible">
    </FrameLayout>
</LinearLayout>

DrawerActivity java代码:

public abstract class DrawerActivity extends Activity 
{
protected LinearLayout fullLayout;
protected FrameLayout actContent;

  @Override
  public void setContentView(final int layoutResID) 
  {
    fullLayout= (LinearLayout) getLayoutInflater().inflate(R.layout.act_layout, null); // Your base layout here
    actContent= (FrameLayout) fullLayout.findViewById(R.id.act_content);
    getLayoutInflater().inflate(layoutResID, actContent, true); // Setting the content of layout your provided to the act_content frame
    super.setContentView(fullLayout);
  }
}

在我所有的活动文件中,我都放入setContentView(R.layout.XXXXXXXX);onCreate方法。

那么如何使活动可见?我究竟做错了什么??

我尝试输入以下内容但没有效果

actContent.setVisibility(layoutResID); 
or 
actContent.setVisibility(View.VISIBLE);
4

0 回答 0