2012-10-10 69 views
4

我想要一个只有边框的图像视图,它内部是透明的。获取边框的常用技巧似乎是使用另一个imageview,稍微大一点的大小就在imageView的下方,在这里工作,因为我想要一个透明的imageview。 我如何创建它?在android中的透明imageView的边框

回答

11

在绘制文件夹

<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> 

创建一个新的文件backgroundcolor.xml并为背景添加到您的ImageView

0

您可以使用XML文件作为一个ImageView的可拉伸性。例如,把这个XML文件作为border.xml在绘制-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> 

,然后在主布局,用它作为一个ImageView的背景绘制。 imageview将是空的,只有边框将被显示。

<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>