我如何使用9补丁?

时间:2013-08-23 22:11:22

标签: android xml eclipse nine-patch

我有一个9补丁图片,我想要用它来从应用程序“分离”adMob广告。我想在广告的确切位置画一条浅蓝色线条。

这是9补丁:

enter image description here

我将它作为ImageView添加到布局中,这是XML代码:

<ImageView
    android:id="@+id/imageView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_above="@+id/adView"
    android:layout_alignParentLeft="true"
    android:layout_alignParentRight="true"
    android:src="@drawable/ab_transparent_example" />

这就是结果:

enter image description here

但我想得到的是9补丁来取屏幕的大小,从屏幕的左到右制作一条完整的蓝线。我之前从未使用过9-patch,我做错了什么?

2 个答案:

答案 0 :(得分:1)

下图是对9补丁内容的非常好的直观解释。至于您的具体问题,您应该将9-patch设置为图像的背景。

<ImageView
    android:id="@+id/imageView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_above="@+id/adView"
    android:layout_alignParentLeft="true"
    android:layout_alignParentRight="true"
    android:background="@drawable/ab_transparent_example" />

9-patch Diagram

答案 1 :(得分:0)

首先你需要知道的是9-patch是与其他任何其他图像相关的布局。区别在于9-斑块图像比例。

在这种情况下,尝试将layout_width设置为“fill_parrent”或“match_ parent”

<ImageView
android:id="@+id/imageView1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_above="@+id/adView"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:src="@drawable/ab_transparent_example" />