4

我想要一个只有边框并且内部透明的图像视图。获取边框的常见技巧似乎是在我们想要边框的图像视图下方使用另一个尺寸稍大的图像视图,但这在这里不起作用,因为我想要一个透明的图像视图。我怎样才能创建它?

4

2 回答 2

11

在 drawable 文件夹中创建一个新的 backgroundcolor.xml 文件

<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle" >

    <solid android:color="@color/transparent" />

    <stroke
        android:width="0.5dip"
        android:color="@color/black" />


    <padding
        android:bottom="2dp"
        android:left="2dp"
        android:right="2dp"
        android:top="2dp" />

</shape>

并将其作为背景添加到您的 imageview

于 2012-10-10T13:13:17.093 回答
0

您可以将 xml 文件用作 imageview 的可绘制对象。例如,将此 xml 文件作为border.xml 放在您的drawable-mdpi 文件夹中:

<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="#FFFFFF" />
<stroke android:width="1dp" android:color="#000000" />
<padding android:left="1dp" android:top="1dp" android:right="1dp"
    android:bottom="1dp" />
</shape>

然后在您的主布局中,将其用作图像视图的可绘制背景。图像视图将为空,仅显示边框。

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <ImageView
        android:id="@+id/imageView1"
        android:layout_width="100dp"
        android:layout_height="100dp"
        android:layout_gravity="center_horizontal"
        android:layout_marginTop="100dp"
        android:src="@drawable/border" />

</LinearLayout>
于 2012-10-10T13:20:05.167 回答