当前位置:网站首页>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
边栏推荐
- 平稳发展 | 西欧地区手游玩家的数据和洞察
- [Dynamic Programming Special Training] Basics
- spack install报错/tmp/ccBDQNaB.s: Assembler message:
- geoserver+mysql+openlayers问题点
- 喜迎八一 《社会企业开展应聘文职人员培训规范》团体标准出版发行会暨橄榄枝大课堂上线发布会在北京举行
- Geoserver+mysql+openlayers
- 【OpenNI2】资料整理 -- 不断更新中
- selenium installation and environment configuration firefox
- js Fetch返回数据res.json()报错问题
- 【C语言刷题】双指针原地修改数组(力扣原题分析)
猜你喜欢
面试官:谈谈如何防止消息丢失和消息重复
荐号 | 当一个人不联系你,不拉黑你,原因只有一个……!
【C语言刷题】牛客JZ65——不用四则运算作加法
EasyCVR平台通过国标GB28181接入柯达NVR显示注册失败,该如何解决?
Therapy | How to Identify and Deal with Negative Thoughts
Sentinel vs Hystrix 限流对比,到底怎么选?
3年半测试经验,20K我都没有,看来是时候跳槽了
去年,一道蚂蚁金服笔试题,还行,中等难度
Nature Microbiology综述:聚焦藻际--浮游植物和细菌互作的生态界面
斯堪尼亚SCANIA OTL标签介绍
随机推荐
药品研发--检验记录与检验报告书的书写细则
仿制药的未来商机--个人研发的体会
JVM内存和垃圾回收-04.程序计数器(PC寄存器)
想通过FC连接RDS mysql。是不是将FC服务角色添加rds权限后,就可以通过地址,端口建连了呢
栈、队列和数组
2022-07-26
【心理学 · 人物】第一期
What is the use of IT assets management software
Golang sync/atomic 包的原子操作说明
7.24 - 每日一题 - 408
动态生成不同类型的订单,请问如何存放到Mongodb数据库?
荐号 | 当一个人不联系你,不拉黑你,原因只有一个……!
【动态规划专项训练】基础篇
备战无人机配送:互联网派To C、技术派To B
What are the useful real-time network traffic monitoring software
golang刷leetcode 动态规划(13) 最长公共子序列
流量分析第二题
项目分析(复杂嵌入式系统设计)
二本 两年经验读者 阿里P6面经
移动跨端技术方案分析对比