时间:2021-05-21
Android 实现圆角图片的简单实例
实现效果图:
本来想在网上找个圆角的例子看一看,不尽人意啊,基本都是官方的Demo的那张原理图,稍后会贴出。于是自己自定义了个View,实现图片的圆角以及圆形效果。效果图:
Android 圆角图片的实现形式,包括用第三方、也有系统的。比如makeramen:roundedimageview,系统的cardview , glide .fresco 。
compile 'com.android.support:appcompat-v7:24.0.0' compile 'com.makeramen:roundedimageview:2.2.1' compile 'com.android.support:cardview-v7:24.0.0' compile 'com.github.bumptech.glide:glide:3.7.0' compile 'com.facebook.fresco:fresco:0.12.0'<android.support.v7.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@+id/id_cardview" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" app:cardBackgroundColor="@color/bg_light_gray" app:cardCornerRadius="3dp" app:cardUseCompatPadding="false" app:cardPreventCornerOverlap="true" > <ImageView android:id="@+id/iv_subject" android:gravity="center" android:scaleType="centerCrop" android:layout_width="match_parent" android:layout_height="200dp" /> <TextView android:paddingLeft="5dp" android:paddingBottom="5dp" android:background="@drawable/bg_biaoti" android:id="@+id/tv_subject" android:gravity="center_vertical" android:text="" android:ellipsize="end" android:singleLine="true" android:textSize="13sp" android:textColor="@color/white" android:layout_gravity="bottom" android:layout_width="match_parent" android:layout_height="wrap_content" /></android.support.v7.widget.CardView> iv_round=(RoundedImageView) findViewById(R.id.iv_round); Glide.with(this).load(url).into(iv_round); iv_cardview=(ImageView)findViewById(R.id.iv_cardview); Glide.with(this).load(url).into(iv_cardview); iv_fresco=(SimpleDraweeView)findViewById(R.id.iv_fresco); Glide.with(this).load(url).into(iv_round); Glide.with(this).load(url).into(iv_cardview); Uri uri = Uri.parse(url); iv_fresco.setImageURI(uri);package roundimageview.forezp.com.roundimageview;import android.content.Context;import android.content.res.Resources;import android.graphics.Bitmap;import android.graphics.BitmapShader;import android.graphics.Canvas;import android.graphics.Paint;import android.graphics.RectF;import com.bumptech.glide.load.engine.bitmap_recycle.BitmapPool;import com.bumptech.glide.load.resource.bitmap.BitmapTransformation;/** * Created by Administrator on 2016/8/19 0019. */public class GlideRoundTransform extends BitmapTransformation { private static float radius = 0f; public GlideRoundTransform(Context context) { this(context, 4); } public GlideRoundTransform(Context context, int dp) { super(context); this.radius = Resources.getSystem().getDisplayMetrics().density * dp; } @Override protected Bitmap transform(BitmapPool pool, Bitmap toTransform, int outWidth, int outHeight) { return roundCrop(pool, toTransform); } private static Bitmap roundCrop(BitmapPool pool, Bitmap source) { if (source == null) return null; Bitmap result = pool.get(source.getWidth(), source.getHeight(), Bitmap.Config.ARGB_8888); if (result == null) { result = Bitmap.createBitmap(source.getWidth(), source.getHeight(), Bitmap.Config.ARGB_8888); } Canvas canvas = new Canvas(result); Paint paint = new Paint(); paint.setShader(new BitmapShader(source, BitmapShader.TileMode.CLAMP, BitmapShader.TileMode.CLAMP)); paint.setAntiAlias(true); RectF rectF = new RectF(0f, 0f, source.getWidth(), source.getHeight()); canvas.drawRoundRect(rectF, radius, radius, paint); return result; } @Override public String getId() { return getClass().getName() + Math.round(radius); }} Glide.with(this).load(url).transform(new GlideRoundTransform(this,6)).into(iv_glide);感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
Android使用xml自定义图片实例详解实现效果图:白色圆角图片bg_round_rectangle_white.xml白色圆角虚线框bg_round_rec
本文实例讲述了Android开发实现的圆角按钮、文字阴影按钮效果。分享给大家供大家参考,具体如下:效果图:如果要实现圆角图片,并变色须在drawable中配置背
本文实例讲述了Android生成带圆角的Bitmap图片。分享给大家供大家参考。具体如下:有时候我们在开发Android应用时,会遇到圆角图片的问题,那么,我们
本文实例为大家分享了Android实现圆角图片的具体代码,供大家参考,具体内容如下效果图:快速开始activity_main.xml文件:MainActivit
本文讲述了Android开发实现图片圆角的方法。分享给大家供大家参考,具体如下:BitmapmyCoolBitmap=...;//