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

歡迎訪問 生活随笔!

生活随笔

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

Android

Android --- 自定义ImageView 实现圆形图片

發布時間:2025/3/21 Android 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android --- 自定义ImageView 实现圆形图片 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

自定義ImageView實現圓形圖片,主要是在onDraw()方法中實現繪制圓形圖片,在onMeasure()中測量圓形的半徑并設置View的寬高。效果如下圖

代碼如下

public class CircleImageView extends ImageView { <span style="color:rgb(128,128,128);">//畫筆

private Paint mPaint;
//圓形圖片的半徑
private int mRadius;
//圖片的宿放比例
private float mScale;

public CircleImageView(Context context) {
super(context);
}

<span style="color:rgb(204,120,50);">public </span><span style="color:rgb(255,198,109);">CircleImageView</span>(Context context<span style="color:rgb(204,120,50);">, </span><span style="color:rgb(187,181,41);">@Nullable </span>AttributeSet attrs) {<span style="color:rgb(204,120,50);">super</span>(context<span style="color:rgb(204,120,50);">, </span>attrs)<span style="color:rgb(204,120,50);">;

}

<span style="color:rgb(204,120,50);">public </span><span style="color:rgb(255,198,109);">CircleImageView</span>(Context context<span style="color:rgb(204,120,50);">, </span><span style="color:rgb(187,181,41);">@Nullable </span>AttributeSet attrs<span style="color:rgb(204,120,50);">, int </span>defStyleAttr) {<span style="color:rgb(204,120,50);">super</span>(context<span style="color:rgb(204,120,50);">, </span>attrs<span style="color:rgb(204,120,50);">, </span>defStyleAttr)<span style="color:rgb(204,120,50);">;

}

<span style="color:rgb(187,181,41);">@Override

protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
super.onMeasure(widthMeasureSpec, heightMeasureSpec);
//由于是圓形,寬高應保持一致
int size = Math.min(getMeasuredWidth(), getMeasuredHeight());
mRadius = size / 2;
setMeasuredDimension(size, size);
}

<span style="color:rgb(187,181,41);">@SuppressLint</span>(<span style="color:rgb(106,135,89);">"DrawAllocation"</span>) <span style="color:rgb(187,181,41);">@Override

protected void onDraw(Canvas canvas) {

<span style="color:rgb(152,118,170);">mPaint </span>= <span style="color:rgb(204,120,50);">new </span>Paint()<span style="color:rgb(204,120,50);">;


Drawable drawable = getDrawable();

if (null != drawable) {
Bitmap bitmap = ((BitmapDrawable) drawable).getBitmap();

//初始化BitmapShader,傳入bitmap對象
BitmapShader bitmapShader = new BitmapShader(bitmap, Shader.TileMode.CLAMP, Shader.TileMode.CLAMP);
//計算縮放比例
mScale = (mRadius * 2.0f) / Math.min(bitmap.getHeight(), bitmap.getWidth());

Matrix matrix = new Matrix();
matrix.setScale(mScale, mScale);
bitmapShader.setLocalMatrix(matrix);
mPaint.setShader(bitmapShader);
//畫圓形,指定好坐標,半徑,畫筆
canvas.drawCircle(mRadius, mRadius, mRadius, mPaint);
} else {
super.onDraw(canvas);
}
}

}

自定義好之后,就可以直接在xml布局中使用該控件

<RelativeLayout xmlns:android=“http://schemas.android.com/apk/res/android”
xmlns:tools=“http://schemas.android.com/tools”
android:layout_width=“match_parent”
android:layout_height=“match_parent”
android:gravity=“center”
tools:context=“com.sun.zh.bezier.MainActivity”>
<com.sun.zh.bezier.view.CircleImageView
android:id="@+id/image"
android:layout_width=“200dp”
android:layout_height=“200dp”
android:scaleType=“centerCrop”
android:src="@drawable/ic_timg" />
</RelativeLayout>

注意必須設置src圖,設置background圖不會出現圓形效果

在ImageView中src與background的區別:

background會根據ImageView組件給定的長寬進行拉伸,而src就存放的是原圖的大小,不會進行拉伸。src是圖片內容(前景),bg是背景,可以同時使用。此外scaleType只是對src起作用,bg可設置透明度。在動態加載圖片中設置src可使用image.setImageResource(R.drawable.**)。

總結

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

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

主站蜘蛛池模板: 一级免费观看视频 | 香蕉视频免费 | 天堂va蜜桃一区二区三区漫画版 | 妺妺窝人体色www婷婷 | 少妇做爰免费视看片 | 波多野结衣三级视频 | 欧美va在线观看 | 一区二区欧美精品 | 日韩亚洲天堂 | 女优一区 | 尤物精品视频在线观看 | 深夜福利成人 | 玉足调教丨vk24分钟 | 日本天堂一区 | 国产亚洲色婷婷久久99精品91 | 综合亚洲网 | 寂寞少妇让水电工爽hd | 午夜福利视频 | 婷婷丁香综合网 | 综合伊人久久 | 日韩黄色高清视频 | 视频在线观看视频 | 极品探花在线观看 | 三级黄色小视频 | 黄色一极视频 | 一区二区三区手机在线观看 | 日韩欧美国产片 | 亚洲欧洲一区二区在线观看 | 摸大乳喷奶水www视频 | 亚洲国产日韩欧美 | 欧美黑大粗| 国产成人精品一区二区三区视频 | 久操这里只有精品 | 在线高清观看免费 | 麻豆伊甸园 | 亚洲av永久无码精品国产精品 | 两性囗交做爰视频 | 草草久久久 | av自拍网 | 一炮成瘾1v1高h | 美女激情网站 | 国产精品jizz在线观看无码 | 黑人玩弄人妻一区二区三区四 | 久久精品国产99精品国产亚洲性色 | 麻豆精品久久 | 国产中文字幕在线视频 | 亚洲av日韩精品久久久久久久 | 国产三级精品在线 | 男女拍拍拍网站 | 国产做爰高潮呻吟视频 | 99视频网站 | 亚州av片| 欧美三级理论片 | 日韩精品一区中文字幕 | 国产精品秘 | 91精品视频网站 | 久久婷婷网 | 国产午夜精品久久久 | 四季av日韩精品一区 | 欧美性视频网站 | 国产视频二区三区 | 日日干夜 | 岛国av免费看 | 男人天堂中文字幕 | 国产精品系列在线 | 国产黄色录像片 | 五月婷中文字幕 | 凹凸日日摸日日碰夜夜 | 亚洲精品久久久久久久久久 | 欧美刺激性大交 | 麻豆69| 国产在线日韩 | 日韩亚洲国产精品 | 亚洲一区二区三区四区在线播放 | 不卡成人 | 国产ts人妖系列高潮 | 免费av网站在线观看 | 久久精品国产亚洲7777 | 日韩高清久久 | 国产精品毛片久久久久久久av | 国产一区二区视频播放 | 一级黄色录像大片 | 免费看黄色的网站 | 亚洲一区二区视频在线 | 丝瓜色版| 中国三级黄色 | 肉丝超薄少妇一区二区三区 | 91操人| 欧美亚洲欧美 | 中文字幕在线导航 | av收藏小四郎最新地址 | 日本wwww视频| 亚洲一区a | 在线看黄免费 | 国产最新在线 | 97狠狠干| 亚洲激情久久 | 国产又粗又黄又爽的视频 | 亚洲另类色图 |