4

境界線のみがあり、内部が透明なimageviewが必要です。境界線を取得するための一般的なトリックは、境界線が必要なimageViewのすぐ下にある少し大きいサイズの別のimageviewを使用することですが、透明なものが必要なため、ここでは機能しません。 imageview。どうすれば作成できますか?

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>

これを背景としてイメージビューに追加します

于 2012-10-10T13:13:17.093 に答える
0

イメージビューのドローアブルとして xml ファイルを使用できます。たとえば、次の 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 に答える