1. ホーム
  2. アンドロイド

[解決済み】XMLで円形に表示されるImageView

2022-04-18 16:53:49

質問

の画像から任意の画像を作成したい。 ImageView をボーダー付きの円形にする。

検索してみましたが、有用な情報は見つかりませんでした(何をやってもうまくいきませんでした)。

XMLで実現するにはどうしたらいいでしょうか。 を作成します。 ImageView を特定のsrcで指定し、それをボーダー付きの円形にする?

解決方法は?

Shapeで白枠、中身が透明のシンプルな円を作ることができます。

// res/drawable/circle.xml

<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:innerRadius="0dp"
    android:shape="ring"
    android:thicknessRatio="1.9"
    android:useLevel="false" >
    <solid android:color="@android:color/transparent" />

    <stroke
        android:width="10dp"
        android:color="@android:color/white" />
</shape>

次に、レイヤーリストを描画可能にして、それをイメージビューの背景として配置します。

// res/drawable/img.xml

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >

    <item android:drawable="@drawable/circle"/>    
    <item android:drawable="@drawable/ic_launcher"/>

</layer-list>

を作成し、それを画像ビューの背景として配置します。

   <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="@drawable/img"/>

みたいなのが出てきますよね。