我有一个多个fragments
的应用,我想知道如何为每个fragment
添加不同的背景。我使用的布局有可滚动的选项卡,它们都使用相同的xml文件。我还有一个设置视图的MainActivity
和每个adapter
的{{1}}。我知道您可以使用带有fragment
的xml文件或类似的东西添加背景,并将其设置为主活动中的视图,但我无法弄清楚如何对每个选项卡执行此操作。谢谢你的帮助!
答案 0 :(得分:7)
要向片段添加背景,您必须将其包装在某个容器中
<LinearLayout
android:id="@+id/linearlayout01"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#ccc"
android:layout_weight="1"
android:orientation="vertical">
<fragment android:name="com.example.simplefragmentexample.LayOutOne"
android:id="@+id/frag_1"
android:layout_width="fill_parent"
android:layout_height="fill_parent" />
</LinearLayout>
如果您希望使用相同的xml文件,则应以编程方式设置图像
LinearLayout l = (LinearLayout) findViewById(R.id.linearlayout01);
l.setBackground(Image);
或使用android:background
的几个xmls。
答案 1 :(得分:0)
您可以使用Fragment getView()方法获取片段的根视图。然后,您可以使用View的setBackground()方法之一设置视图的背景。例如,为每个片段设置随机背景颜色:
for ( Fragment f : fragments ) {
f.getView().setBackgroundColor ( (new Random()).nextInt() );
}
PS:我从未使用过碎片,因此我的回答可能是错误的。