如何为背景图像添加填充

时间:2010-04-26 05:38:39

标签: android

我有一个LinearLayout,它有一个背景图片(一个9补丁的png文件)。 如何向左和向右添加填充以使背景图像不占用整个宽度?我尝试了android:paddingLeftandroid:paddingRight,但这并没有改变任何内容。

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="horizontal"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:paddingLeft="25dip"
    android:paddingRight="25dip"
    android:background="@drawable/background">

整个背景仍然延伸整个屏幕宽度。

4 个答案:

答案 0 :(得分:95)

您应该使用专为此目的而设计的xml drawable - 插入可绘制http://developer.android.com/guide/topics/resources/drawable-resource.html#Inset

例如:

RES /抽拉/ inset_background.xml:

<?xml version="1.0" encoding="utf-8"?>
<inset xmlns:android="http://schemas.android.com/apk/res/android"
    android:drawable="@drawable/your_background_image"
    android:insetRight="25dip"
    android:insetLeft="25dip" />

然后在你的xml布局中:

<LinearLayout  xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="horizontal"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="@drawable/inset_background">

答案 1 :(得分:6)

Ur背景drawable应该是这样的,使用android:bottom

{{1}}

答案 2 :(得分:4)

这不起作用,因为填充仅对LinearLayout的内容起作用。通过在此内部使用第二个LinearLayout,填充将生效。您必须定义在填充区域中可见的第一个LinearLayout的背景颜色。

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="horizontal"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:paddingLeft="25dip"
    android:paddingRight="25dip"
    android:background="#FF000000">

    <LinearLayout
    android:orientation="horizontal"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="@drawable/background">

    </LinearLayout>

</LinearLayout>

注意:也可以使用XML文件作为后台。

答案 3 :(得分:2)

你可以使用

<LinearLayout  xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_marginLeft="25dip"
android:layout_marginRight="25dip"
android:background="@drawable/background">