Android如何设置圆角图片
发布时间 - 2026-01-10 23:16:51 点击率:次在开发过程中有时需要将图片显示成圆角图片,一般我们可以通过在xml中设置drawable shape即可,但今天我给出另一种方法,用java代码动态去设置圆角,顺便做个简单的笔记。

主要原理是使用系统自带api:
RoundedBitmapDrawableFactory
先上效果图:
由于比较简单,直接给出实现方式:
public class MainActivity extends AppCompatActivity {
private ImageView mImgRectRound;
private ImageView mImgRound;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mImgRectRound = (ImageView) findViewById(R.id.img_rect_rounded);
mImgRound = (ImageView) findViewById(R.id.img_rounded);
rectRoundBitmap();
roundBitmap();
}
private void rectRoundBitmap(){
//得到资源文件的BitMap
Bitmap image= BitmapFactory.decodeResource(getResources(),R.drawable.dog);
//创建RoundedBitmapDrawable对象
RoundedBitmapDrawable roundImg =RoundedBitmapDrawableFactory.create(getResources(),image);
//抗锯齿
roundImg.setAntiAlias(true);
//设置圆角半径
roundImg.setCornerRadius(30);
//设置显示图片
mImgRectRound.setImageDrawable(roundImg);
}
private void roundBitmap(){
//如果是圆的时候,我们应该把bitmap图片进行剪切成正方形, 然后再设置圆角半径为正方形边长的一半即可
Bitmap image = BitmapFactory.decodeResource(getResources(), R.drawable.dog);
Bitmap bitmap = null;
//将长方形图片裁剪成正方形图片
if (image.getWidth() == image.getHeight()) {
bitmap = Bitmap.createBitmap(image, image.getWidth() / 2 - image.getHeight() / 2, 0, image.getHeight(), image.getHeight());
} else {
bitmap = Bitmap.createBitmap(image, 0, image.getHeight() / 2 - image.getWidth() / 2, image.getWidth(), image.getWidth());
}
RoundedBitmapDrawable roundedBitmapDrawable = RoundedBitmapDrawableFactory.create(getResources(), bitmap);
//圆角半径为正方形边长的一半
roundedBitmapDrawable.setCornerRadius(bitmap.getWidth() / 2);
//抗锯齿
roundedBitmapDrawable.setAntiAlias(true);
mImgRound.setImageDrawable(roundedBitmapDrawable);
}
}
布局文件:
<?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:id="@+id/activity_main" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context="com.cjl.roundedbitmap.MainActivity"> <ImageView android:id="@+id/img_rect_rounded" android:layout_width="200dp" android:layout_height="300dp" android:layout_marginTop="20dp" android:layout_gravity="center_horizontal"/> <ImageView android:id="@+id/img_rounded" android:layout_marginTop="20dp" android:layout_width="200dp" android:layout_height="200dp" android:layout_gravity="center_horizontal"/> </LinearLayout>
如有问题,欢迎指正,谢谢。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# Android
# 圆角图片
# Android中TextView显示圆圈背景或设置圆角的方法
# android 设置圆角图片实现代码
# Android设置图片圆角的方法
# Android中给按钮同时设置背景和圆角示例代码
# Android 圆角 ImageView类可设置弧度(代码简单)
# Android实现图片设置圆角形式
# Android圆角设置方法看着一篇文章就够了
# 圆角
# 抗锯齿
# 如有
# 中有
# 我们可以
# 然后再
# 做个
# 种方法
# 要将
# 我们应该
# 大家多多
# 时需
# 系统自带
# mImgRound
# mImgRectRound
# Override
# void
# protected
# extends
# MainActivity
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
浅谈javascript alert和confirm的美化
佐糖AI抠图怎样调整抠图精度_佐糖AI精度调整与放大细化操作【攻略】
详解免费开源的DotNet二维码操作组件ThoughtWorks.QRCode(.NET组件介绍之四)
如何快速生成凡客建站的专业级图册?
北京专业网站制作设计师招聘,北京白云观官方网站?
Laravel如何使用Facades(门面)及其工作原理_Laravel门面模式与底层机制
如何快速搭建高效WAP手机网站?
CSS3怎么给轮播图加过渡动画_transition加transform实现【技巧】
Laravel如何实现RSS订阅源功能_Laravel动态生成网站XML格式订阅内容【教程】
高端建站三要素:定制模板、企业官网与响应式设计优化
Laravel怎么设置路由分组Prefix_Laravel多级路由嵌套与命名空间隔离【步骤】
C语言设计一个闪闪的圣诞树
绝密ChatGPT指令:手把手教你生成HR无法拒绝的求职信
rsync同步时出现rsync: failed to set times on “xxxx”: Operation not permitted
php在windows下怎么调试_phpwindows环境调试操作说明【操作】
如何快速重置建站主机并恢复默认配置?
公司门户网站制作公司有哪些,怎样使用wordpress制作一个企业网站?
Laravel如何使用Seeder填充数据_Laravel模型工厂Factory批量生成测试数据【方法】
Laravel与Inertia.js怎么结合_使用Laravel和Inertia构建现代单页应用
ChatGPT 4.0官网入口地址 ChatGPT在线体验官网
laravel服务容器和依赖注入怎么理解_laravel服务容器与依赖注入解析
Laravel如何处理文件上传_Laravel Storage门面实现文件存储与管理
bootstrap日历插件datetimepicker使用方法
合肥制作网站的公司有哪些,合肥聚美网络科技有限公司介绍?
Laravel Eloquent模型如何创建_Laravel ORM基础之Model创建与使用教程
Python函数文档自动校验_规范解析【教程】
无锡营销型网站制作公司,无锡网选车牌流程?
如何在阿里云服务器自主搭建网站?
laravel怎么通过契约(Contracts)编程_laravel契约(Contracts)编程方法
宙斯浏览器怎么屏蔽图片浏览 节省手机流量使用设置方法
zabbix利用python脚本发送报警邮件的方法
HTML透明颜色代码怎么让图片透明_给img元素加透明色的技巧【方法】
Win10如何卸载预装Edge扩展_Win10卸载Edge扩展教程【方法】
如何选择可靠的免备案建站服务器?
Laravel如何创建自定义中间件?(Middleware代码示例)
如何在IIS中新建站点并解决端口绑定冲突?
如何用5美元大硬盘VPS安全高效搭建个人网站?
深圳网站制作平台,深圳市做网站好的公司有哪些?
Laravel怎么使用Collection集合方法_Laravel数组操作高级函数pluck与map【手册】
canvas 画布在主流浏览器中的尺寸限制详细介绍
如何快速上传建站程序避免常见错误?
mc皮肤壁纸制作器,苹果平板怎么设置自己想要的壁纸我的世界?
邀请函制作网站有哪些,有没有做年会邀请函的网站啊?在线制作,模板很多的那种?
Laravel辅助函数有哪些_Laravel Helpers常用助手函数大全
Laravel Fortify是什么,和Jetstream有什么关系
HTML5建模怎么导出为FBX格式_FBX格式兼容性及导出步骤【指南】
如何确保FTP站点访问权限与数据传输安全?
Laravel Livewire是什么_使用Laravel Livewire构建动态前端界面
宙斯浏览器视频悬浮窗怎么开启 边看视频边操作其他应用教程
Laravel如何实现全文搜索_Laravel Scout集成Algolia或Meilisearch教程

