Glide原生方法加载圆形图片

  • 项目中需要用圆形图片,我们知道,Android原生是没有好用的圆形图片的,何况还要网络加载什么的。今天找了下Glide加载圆形图片的方法,基本都是这种,说得倒是很明白的,但是我自己加载时候没有找到相应的方法啊,后来恍然,原来现在版本的Glide已经放弃了之前的一些方法。

  • 先奉上Glide传送门Glide开源项目

  • 当然 新版本的Glide已经给我们提供了展示 圆形、圆角图片实现方法,看效果:
    在这里插入图片描述

  • 实现如上效果比价简单:

  1. 添加依赖:在module的gradle中添加:
  implementation 'com.github.bumptech.glide:glide:4.7.1'
  annotationProcessor 'com.github.bumptech.glide:compiler:4.7.1'
  1. 开放网络权限
 <uses-permission android:name="android.permission.INTERNET"/>
  1. 准备用以展示图片的布局文件:activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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"
    tools:context=".MainActivity"
    android:orientation="vertical"
    android:gravity="center">
    <ImageView
        android:id="@+id/circle"
        android:layout_width="120dp"
        android:layout_height="120dp" />
    <ImageView
        android:id="@+id/round1"
        android:layout_width="120dp"
        android:layout_height="120dp" />
    <ImageView
        android:id="@+id/round2"
        android:layout_width="120dp"
        android:layout_height="120dp" />
</LinearLayout>
  1. 代码中使用,MainActivity.java:
public class MainActivity extends AppCompatActivity {
    ImageView circle, round1, round2;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        initView();
    }

    private void initView() {
        circle = findViewById(R.id.circle);
        round1 = findViewById(R.id.round1);
        round2 = findViewById(R.id.round2);

        Glide.with(this)
                .load("http://img5.duitang.com/uploads/item/201506/07/20150607110911_kY5cP.jpeg")
                .apply(RequestOptions.bitmapTransform(new CircleCrop()))
                .into(circle);

        Glide.with(this)
                .load("http://img.jiuzheng.com/memberlogo/s/57/0a/570af0f48f1e0327178b468d.jpg")
                .apply(RequestOptions.bitmapTransform(new RoundedCorners(20)))//圆角半径
                .into(round1);

        Glide.with(this)
                .load("http://img.jiuzheng.com/memberlogo/s/57/0a/570af0f48f1e0327178b468d.jpg")
                .apply(RequestOptions.bitmapTransform(new RoundedCorners(60)))//圆角半径
                .into(round2);
    }
}
  • 这样,我们用Glide 原生方法便实现了加载圆形、圆角图片的功能。关键代码在于:
  1. 圆形图片
 .apply(RequestOptions.bitmapTransform(new CircleCrop()))
  1. 圆角图片
.apply(RequestOptions.bitmapTransform(new RoundedCorners(20)))//圆角半径
  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值