我有一个LinearLayout
,它有一个背景图片(一个9补丁的png文件)。
如何向左和向右添加填充以使背景图像不占用整个宽度?我尝试了android:paddingLeft
和android: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">
整个背景仍然延伸整个屏幕宽度。
答案 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">