2012-10-10 122 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>