时间:2021-05-20
Android圆形图片或者圆角图片的快速实现,具体内容如下
话不多说直接上code
xml文件布局
<LinearLayout android:id="@+id/ll_headpict" android:layout_width="match_parent" android:layout_height="97dp" android:layout_margin="13dp" android:background="@drawable/shape_white_radius10_solid" android:gravity="center_vertical" android:orientation="horizontal" android:paddingLeft="25dp"> <TextView android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:text="头像" android:textColor="@color/color4A4A4A" android:textSize="14sp" android:textStyle="bold" /> <ImageView android:id="@+id/iv_headpict" android:layout_width="60dp" android:layout_height="60dp" android:layout_marginRight="37dp" android:scaleType="fitXY" android:src="@mipmap/ic_headview_demo" /></LinearLayout>初始化控件之后用工具类加载
//第一个参数上下文,第二个控件名称,第三个图片url地址,第四个参数圆角大小
ViewUtils.loadImageRadius(this, mIvpict, stringUrl, 15);//头像
ViewUtils.java工具类
/** * Created by wjw on 2016/11/28 * 倒圆角工具类 */public class ViewUtils { /** * 图片加载 * @param context * @param iv * @param url */ public static void loadImage(Context context, ImageView iv, String url) { if(null ==context || null==iv){ return; } if(Utils.isTxtEmpty(url)){ try { Glide.with(context).load(R.mipmap.placeholder_icon) .dontAnimate().diskCacheStrategy(DiskCacheStrategy.ALL).into(iv); }catch (Exception e){ } }else { try { Glide.with(context).load(url) .dontAnimate().diskCacheStrategy(DiskCacheStrategy.ALL).placeholder(R.mipmap.placeholder_icon).into(iv); } catch (Exception e) { } } } public static void loadImage(Context context, ImageView iv, int id) { if(null ==context || null==iv){ return; } try { Glide.with(context).load(id) .dontAnimate().diskCacheStrategy(DiskCacheStrategy.ALL).placeholder(R.mipmap.placeholder_icon).into(iv); }catch (Exception e){ } } /** * 本地图片 * @param context * @param iv * @param id * @param radius */ public static void loadImage(Context context, ImageView iv, int id,int radius) { if(null ==context || null==iv){ return; } try { Glide.with(context).load(id) .dontAnimate().diskCacheStrategy(DiskCacheStrategy.ALL). transform(new GlideRoundTransform(context, radius)).into(iv); }catch (Exception e){ } } public static void setImageResource(ImageView iv, int id) { if(null!=iv){ iv.setImageResource(id); } } /** * 加载网络图片(带圆角) * @param context * @param iv * @param url * @param radius */ public static void loadImageRadius(Context context, ImageView iv, String url, int radius) { if(null ==context || null==iv){ return; } if(Utils.isTxtEmpty(url)){ try { Glide.with(context).load(R.mipmap.placeholder_icon) .dontAnimate().diskCacheStrategy(DiskCacheStrategy.ALL). transform(new GlideRoundTransform(context, radius)).into(iv); }catch (Exception e){ } }else{ try { Glide.with(context).load(url) .dontAnimate().diskCacheStrategy(DiskCacheStrategy.ALL). transform(new GlideRoundTransform(context, radius)).placeholder(R.mipmap.placeholder_icon).into(iv); }catch (Exception e){ } } } /** * 加载网络图片(圆形) * @param context * @param iv * @param url */ public static void loadImageCircle(Context context, ImageView iv, String url) { if(null ==context || null==iv){ return; } if (Utils.isTxtEmpty(url)) { try { Glide.with(context).load(R.mipmap.placeholder_icon) .dontAnimate().diskCacheStrategy(DiskCacheStrategy.ALL). transform(new GlideCircleTransform(context)).into(iv); }catch (Exception e){ } } else { try { Glide.with(context).load(url) .dontAnimate().diskCacheStrategy(DiskCacheStrategy.ALL).transform(new GlideCircleTransform(context)). placeholder(R.mipmap.placeholder_icon).into(iv); }catch (Exception e){ } } } }效果如图圆角图片
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
Android中经常会遇到对图片进行二次处理,例如加圆角,或者显示圆形图片实现的效果图:方法一:通过第三方框架Glide实现图片显示有圆角,有三种写法如下:1.
一、前言Android实现圆角矩形,圆形或者椭圆等图形,一般主要是个自定义View加上使用Xfermode实现的。实现圆角图片的方法其实不少,常见的就是利用Xf
一、图片实现圆形条件 原本不是圆形图片,通过CSS样式布局实现成圆形图片,首先图片必须为正方形。 二、使用布局技术 使用CSS3圆角技术实现。 使用
很多android应用都用到了圆角头像,或者一些圆角图片处理起来比较麻烦,直接上圆角图片工具类publicclassCircleImageViewextends
前言Android开发中,我们经常需要实现图片的圆形/圆角的效果,我们可以使用两种方式来实现这样的效果。一种是使用Xfermode,另一种是BitmapShad