Android实现圆形图片或者圆角图片
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){
}
}
}
}
效果如图圆角图片
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
以上是 Android实现圆形图片或者圆角图片 的全部内容, 来源链接: utcz.com/p/240664.html