XML を介した円形の ImageView 質問する

XML を介した円形の ImageView 質問する

ImageView自分の画像を枠線の付いた円形にしたいです。

検索しましたが、役に立つ情報は見つかりませんでした (試したことはどれも機能しませんでした)。

XML でこれを実現するにはどうすればよいですか?ImageView特定の src を使用して を作成し、境界線付きの円形にします。

ベストアンサー1

これは私が設計した最も簡単な方法です。試してみてください。

依存関係

  • 実装 'androidx.appcompat:appcompat:1.3.0-beta01'

  • 実装 'androidx.cardview:cardview:1.0.0'

     <android.support.v7.widget.CardView
         android:layout_width="80dp"
         android:layout_height="80dp"
         android:elevation="12dp"
         android:id="@+id/view2"
        app:cardCornerRadius="40dp"
         android:layout_centerHorizontal="true"
         android:innerRadius="0dp"
         android:shape="ring"
         android:thicknessRatio="1.9">
         <ImageView
             android:layout_height="80dp"
             android:layout_width="match_parent"
             android:id="@+id/imageView1"
             android:src="@drawable/YOUR_IMAGE"
             android:layout_alignParentTop="true"
             android:layout_centerHorizontal="true">
         </ImageView>
      </android.support.v7.widget.CardView>
    

    ロリポップ以上のAndroidバージョンで作業している場合

     <android.support.v7.widget.CardView
     android:layout_width="80dp"
     android:layout_height="80dp"
     android:elevation="12dp"
     android:id="@+id/view2"
     app:cardCornerRadius="40dp"
     android:layout_centerHorizontal="true">
     <ImageView
         android:layout_height="80dp"
         android:layout_width="match_parent"
         android:id="@+id/imageView1"
         android:src="@drawable/YOUR_IMAGE"
         android:scaleType="centerCrop"/>
       </android.support.v7.widget.CardView>
    

丸い ImageView に境界線を追加する -最新バージョン

内側の CardView より少し大きい別の CardView で囲み、背景色を設定して、円形の画像に境界線を追加します。外側の CardView のサイズを大きくすると、境界線の太さを増すことができます。

<androidx.cardview.widget.CardView
  android:layout_width="155dp"
  android:layout_height="155dp"
  app:cardCornerRadius="250dp"
  app:cardBackgroundColor="@color/white">

    <androidx.cardview.widget.CardView
      android:layout_width="150dp"
      android:layout_height="150dp"
      app:cardCornerRadius="250dp"
      android:layout_gravity="center">

        <ImageView
          android:layout_width="150dp"
          android:layout_height="150dp"
          android:src="@drawable/default_user"
          android:scaleType="centerCrop"/>

   </androidx.cardview.widget.CardView>

 </androidx.cardview.widget.CardView>

おすすめ記事