如何在Android中重复背景图像

时间:2014-01-29 16:41:23

标签: android xml image background repeat

我正在尝试为布局的背景制作一个xml。这是代码:

<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item>
        <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
            <solid android:color="@android:color/transparent" />
            <stroke android:width="2dp" android:color="@color/text_color" />
        </shape>
    </item>
    <item android:bottom="2dp" android:left="2dp" android:right="2dp" android:top="2dp"><bitmap android:src="@drawable/paper_texture" android:tileMode="repeat" />
    </item>
</layer-list>

我正在给布局充气并将此xml设置为它的背景。问题是,当我用xml编写布局时,它运行良好但是当我以编程方式对其进行膨胀时,背景图像不会重复,而是适合整个布局。

1 个答案:

答案 0 :(得分:0)

使用布局设置背景时,布局会膨胀到重复模式,因为它知道要填充的正确尺寸。当您以编程方式进行充气时,inflater不知道将其充气的高度,因此您将无法获得重复模式。当您将膨胀的视图作为背景放置时,它别无选择,只能伸展。您可以尝试的是在充气时设置parentView。

LinearLayout ll = (LinearLayout) findViewById(R.id.customWrapper);
View view;
LayoutInflater inflater = (LayoutInflater) this.getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
view = inflater.inflate(R.layout.custom, ll);

这样,inflater知道需要填充的高度/宽度。

希望这有帮助。