当前位置:网站首页>ShapeableImageView 的使用,告别shape、三方库
ShapeableImageView 的使用,告别shape、三方库
2022-08-02 18:55:00 【梦想改变生活】
属性介绍
style 属性:
属性名 | 描述 | 作用 |
---|---|---|
cornerFamily | 属性/样式 | -rounded: 圆角0 -cut: 切角1 |
cornerSize | 弧度 | 弧度大小 |
cornerSizeTopLeft | 左上角弧度大小 | |
cornerSizeTopRight | 右上角弧度大小 | |
cornerSizeBottomRight | 右下角弧度大小 | |
cornerSizeBottomLeft | 左下角弧度大小 | |
cornerFamilyTopLeft | 左上角样式(圆角或切角) | |
cornerFamilyTopRight | 右上角样式(圆角或切角) | |
cornerFamilyBottomRight | 右下角样式(圆角或切角) | |
cornerFamilyBottomLeft | 左下角样式(圆角或切角) |
布局属性:
属性名 | 描述 | 作用 |
---|---|---|
shapeAppearance | shapeableImageView的形状外观样 | 引用style样式 |
shapeAppearanceOverlay | ShapeableImageView的形状外观叠加样式 | 引用style样式 |
strokeColor | 描边颜色 | |
strokeWidth | 描边粗细 |
样式案例
build.gradle 配置
implementation 'com.google.android.material:material:1.6.1'
对应Style如下:
<!--圆形-->
<style name="roundStyle">
<item name="cornerFamily">rounded</item>
<item name="cornerSize">50%</item>
</style>
<!--圆角-->
<style name="roundedCornerImageStyle10">
<item name="cornerFamily">rounded</item>
<item name="cornerSize">10dp</item>
</style>
<!--切角-->
<style name="roundedCutStyle">
<item name="cornerFamily">cut</item>
<item name="cornerSize">10dp</item>
</style>
<!--左上右上圆角-->
<style name="roundedTopStyle">
<item name="cornerFamily">rounded</item>
<item name="cornerSizeTopLeft">20dp</item>
<item name="cornerSizeTopRight">20dp</item>
</style>
<!--菱形-->
<style name="roundedDiamondStyle">
<item name="cornerFamily">cut</item>
<item name="cornerSize">50%</item>
</style>
<!--子弹头-->
<style name="roundedBulletStyle">
<item name="cornerFamilyTopRight">rounded</item>
<item name="cornerSizeTopRight">50dp</item>
<item name="cornerSizeTopLeft">50dp</item>
<item name="cornerFamilyTopLeft">rounded</item>
</style>
<!--Tips-->
<style name="roundedTipsStyle">
<item name="cornerFamilyTopLeft">rounded</item>
<item name="cornerSizeTopLeft">50%</item>
<item name="cornerFamilyBottomLeft">rounded</item>
<item name="cornerSizeBottomLeft">50%</item>
<item name="cornerFamilyTopRight">cut</item>
<item name="cornerSizeTopRight">50%</item>
<item name="cornerFamilyBottomRight">cut</item>
<item name="cornerSizeBottomRight">50%</item>
</style>
<!-- 左上角90度扇形图片 -->
<style name="topLeftRoundImageStyle">
<item name="cornerFamilyTopLeft">rounded</item>
<item name="cornerSizeTopLeft">100%</item>
</style>
有个小细节需要注意,当我们使用strokeWidth属性时,一定要对应设置padding,否则会出现显示一半的效果。而padding的值设置为strokeWidth值的一半。如:
app:strokeWidth="5dp"
android:padding="2.5dp"
代码已上传github:
https://github.com/ljlstudio/KtMvvm/tree/master/demo/src/main/java/com/kt/ktmvvm/jetpack/shapeableimageview
边栏推荐
猜你喜欢
Mobile Banking Experience Test: How to Get the Real User Experience
线性表(顺序表和链表)
thinkphp框架5.0.23安全更新问题-漏洞修复-/thinkphp/library/think/App.php具体怎么改以及为什么要这么改
快速掌握jmeter(一)——实现自动登录与动态变量
Go----Go 语言快速体验之开发环境搭建及第一个项目HelloWord
7.25 - 每日一题 - 408
JVM内存和垃圾回收-03.运行时数据区概述及线程
MySQL主从搭建(问题大聚集,告别部署烦恼)
深度学习-学习笔记(持续更新)
你想要的宏基因组-微生物组知识全在这(2022.8)
随机推荐
想通过FC连接RDS mysql。是不是将FC服务角色添加rds权限后,就可以通过地址,端口建连了呢
线性表(顺序表和链表)
【C语言刷题】双指针原地修改数组(力扣原题分析)
1.0.0到1.0.2的底层数据库表的更新,需要再重新自建数据库吗?
去年,一道蚂蚁金服笔试题,还行,中等难度
让你的应用完美适配平板
Therapy | How to Identify and Deal with Negative Thoughts
From the technical panorama to the actual scene, analyze the evolutionary breakthrough of "narrowband high-definition"
如何获取EasyCVR平台设备通道的RTMP视频流地址?
看【C语言】实现简易计算器教程,让小伙伴们为你竖起大拇指
Mppt photovoltaic maximum power point tracking control matlab simulation
面试官:谈谈如何防止消息丢失和消息重复
香农与信息论三大定律
E. Add Modulo 10(规律)
有什么好用的IT资产管理软件
MySQL 事件调度
T5: Exploring the Limits of Transfer Learning with a Unified Text-to-Text Transformer
深度学习-学习笔记(持续更新)
Go----Go 语言快速体验之开发环境搭建及第一个项目HelloWord
ROS基本编程概述