2

我有一个包含多个的应用程序,fragments我想知道如何为每个应用程序添加不同的背景fragment。我正在使用的布局具有可滚动的选项卡,它们都使用相同的 xml 文件。我也有一个MainActivity设置视图和一个adapter为每个fragment。我知道您可以使用 xml 文件android:background或类似的东西添加背景,并将其设置为主要活动中的视图,但我不知道如何对每个选项卡执行此操作。感谢您的任何帮助!

4

2 回答 2

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.

于 2013-07-17T12:13:48.210 回答
0

您可以使用 Fragment getView()方法获取片段的根视图。然后,您可以使用 View 的setBackground()方法之一设置 View 的背景。例如为每个片段设置随机背景颜色:

for ( Fragment f : fragments ) {
    f.getView().setBackgroundColor ( (new Random()).nextInt() );
}

PS:我从未使用过碎片,因此我的回答可能是错误的。

于 2013-07-17T08:26:43.767 回答