我的应用程序中有多个活动,我希望在所有活动中都出现一个滑动抽屉。我遵循这里给出的方法。
该应用程序以带有滑动抽屉手柄的黑屏开始。
问题是滑动抽屉可见,但放置在 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);