我的活动布局中有一个包含大量* .xml布局项(确切地说是108个)的ViewFlipper,问题是当我启动应用程序时,ViewFlipper中的所有布局都已分配。
有没有办法防止在启动时分配所有ViewFlipper项目并仅在加载viewflipper项目时进行分配?
我的main_activity.xml代码
<RelativeLayout 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:background="#ffececec"
tools:context=".MyActivity">
<ViewFlipper xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/flipper"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<include android:id="@+id/pageMainWin" layout="@layout/main_win" />
// Other ViewFlipper items
</ViewFlipper>
</RelativeLayout>
答案 0 :(得分:0)
尝试在布局中使用viewStub xml标记:
<ViewFlipper xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/flipper"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<ViewStub
android:inflatedId="@+id/pageMainWin"
android:layout="@layout/main_win"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</ViewFlipper>
然后在您的代码中,以编程方式夸大额外的xml布局资源
ViewStub stub = (ViewStub) findViewById(R.id.pageMainWin);
View inflated = stub.inflate();
有关viewstubs的更多信息:http://developer.android.com/reference/android/view/ViewStub.html