我的应用程序中有多个活动,我希望在所有活动中都出现一个滑动提款器。我遵循here给出的方法。
该应用程序以带有滑动拉手的黑色屏幕开始。
问题是滑动抽屉是可见的,但FarmeLayout中的活动布局是不可见。
活动肯定存在。加载第一个活动时,Toasts出现了。所以我修改了我的第一个活动,只有一个按钮就可以进入下一个活动。
接下来,我使用了AVD上的方向键,然后按了确定键,显示了下一个活动的Toast。第二项活动也是隐藏的。
那我错过了什么?
我的滑动抽屉布局xml(LinearLayout),最后是farme布局:
<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);