日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

Android开发之自定义ImageView圆角图片的方法

發布時間:2023/12/15 Android 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android开发之自定义ImageView圆角图片的方法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

老套路看圖:

實現方法非常簡單,使用ClipPath切割就可以了:

完整代碼如下:dpUtils工具類就不發了,自己寫下吧

import android.annotation.SuppressLint; import android.content.Context; import android.graphics.Canvas; import android.graphics.Path; import android.support.annotation.Nullable; import android.util.AttributeSet; import android.widget.ImageView;import com.gfan.xiayiye5.utils.DpUtils;/*** @author xiayiye5* 2020年11月14日15:21:42* 自定義圓角圖片*/ @SuppressLint("AppCompatCustomView") public class RadiusImageView extends ImageView {/*** 圓角大小*/private int radiusSize = DpUtils.dip2px(getContext(), 10);public RadiusImageView(Context context) {super(context, null);}public RadiusImageView(Context context, @Nullable AttributeSet attrs) {super(context, attrs, 0);}public RadiusImageView(Context context, @Nullable AttributeSet attrs, int defStyleAttr) {super(context, attrs, defStyleAttr);init();}private void init() {}/*** 設置圓角大小,設置后需要再次刷新下當前view,使用invalidate()或者postInvalidate()刷新都可以的** @param size dp值*/public void setRadiusSize(int size) {radiusSize = DpUtils.dip2px(getContext(), size);invalidate(); // postInvalidate();}@Overrideprotected void onDraw(Canvas canvas) {if (getWidth() > radiusSize && getHeight() > radiusSize) {@SuppressLint("DrawAllocation")Path path = new Path();path.moveTo(radiusSize, 0);path.lineTo(getWidth() - radiusSize, 0);path.quadTo(getWidth(), 0, getWidth(), radiusSize);path.lineTo(getWidth(), getHeight() - radiusSize);path.quadTo(getWidth(), getHeight(), getWidth() - radiusSize, getHeight());path.lineTo(radiusSize, getHeight());path.quadTo(0, getHeight(), 0, getHeight() - radiusSize);path.lineTo(0, radiusSize);path.quadTo(0, 0, radiusSize, 0);canvas.clipPath(path);}super.onDraw(canvas);} }

如何使用呢?

在布局中直接使用該控件就可以了:

<!-- 下面的com.gfan.xiayiye5.view.RadiusImageView換成自己路徑就好了 --><com.gfan.xiayiye5.view.RadiusImageViewandroid:id="@+id/ivLastLoginId"android:layout_width="50dp"android:layout_height="50dp"android:layout_below="@+id/tvLastLoginId" />

再次非常感謝原博主:博主鏈接

?

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的Android开发之自定义ImageView圆角图片的方法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。