最近开发的项目中使用的圆角背景和边框比较多,基本都是使用shape文件和.9图片实现的。但在实现的过程中也是会出现一些小问题,这篇随笔会总结下来其中遇到的问题。

一,圆角大小不一致

1,四周圆角都为10dp 的shape设置

android:shape="rectangle">

android:bottomLeftRadius="@dimen/s_10dp"

android:bottomRightRadius="@dimen/s_10dp"

android:topLeftRadius="@dimen/s_10dp"

android:topRightRadius="@dimen/s_10dp" />

四周圆角一样的效果.png

2,四周圆角左右下方为10dp,左上方为30dp,右上方为20dp 的shape设置

android:shape="rectangle">

android:bottomLeftRadius="@dimen/s_10dp"

android:bottomRightRadius="@dimen/s_10dp"

android:topLeftRadius="@dimen/s_30dp"

android:topRightRadius="@dimen/s_20dp" />

四周圆角不一样的效果.png

二,外层父布局和内层子布局同时设置圆角

1,比如最外层布局设置四周圆角都为10dp ,而右下角的(TextView是)设置为30dp ,填充颜色为#4db8ff

外层和内层shape分别如下:

android:shape="rectangle">

android:bottomLeftRadius="@dimen/s_10dp"

android:bottomRightRadius="@dimen/s_10dp"

android:topLeftRadius="@dimen/s_10dp"

android:topRightRadius="@dimen/s_10dp" />

android:shape="rectangle">

android:bottomRightRadius="@dimen/s_30dp" />

外层和内层同时设置圆角但背景颜色不同.png

切记如果外层已经设置了圆角,内层match_parent后,如果背景仅仅设置一个背景颜色的话,会把外层的圆角覆盖掉,效果如下

外层设置圆角后,内层单独设置背景颜色.png

这时候需要给右下角的TexeView单独设置一个bottomRightRadius和外层的圆角保持一致

三,圆角和边框同时存在

项目中如果有多个有相同边框的view拼接在一块,会有重复的边框,造成中间边框变粗,从而影响效果。

可以通过以下代码处理,给右边view的左边框设置为-1dp(绝对值和边框一致),则右边view的左边框不再显示。或者给左边view的右边框设置为-1dp(绝对值和边框一致)亦可。

android:left="-1dp">

android:width="1dp"

android:color="#ff0000" />

android:topRightRadius="10dp"

android:bottomRightRadius="10dp" />

两个有边框的view拼接到一块的中间边框未处理,变粗.png

两个有边框的view拼接到一块的中间边框.png

corners边框_安卓中设置(shape)圆角背景和边框(stroke)相关的问题相关推荐

  1. 在ubuntu20.04中设置锁屏背景(亲测有效)

    在ubuntu20.04中设置锁屏背景 1.新建文件夹 打开终端 输入: cd ~ mkdir software cd software/ mkdir images 在根目录创建一个software文 ...

  2. html给标题设置背景,怎么在html中设置一级标题背景

    怎么在html中设置一级标题背景 发布时间:2021-06-02 17:54:26 来源:亿速云 阅读:85 作者:Leah 这篇文章给大家介绍怎么在html中设置一级标题背景,内容非常详细,感兴趣的 ...

  3. Java jpanel 设置_Java中设置Jpanel的背景

    一起学习 1.创建一个类ImagePanel,代码如下 import java.awt.BorderLayout; import javax.swing.JPanel; import java.io. ...

  4. php在dw中设置按钮圆角,Dreamweaver怎么用CSS制作圆角按钮?

    Dreamweaver想要制作一个网页中的圆角按钮,并添加鼠标经过时变色的效果,该怎么制作呢?下面我们就来看看详细的教程. 软件名称:Adobe Dreamweaver CC 2018 V18.0 中 ...

  5. 安卓导航车机root方法_安卓手机设置充电提示音教程来了!教你三种方法,无需 ROOT!...

    最近,iPhone 充电提示音火了!上期,我们分享了 iPhone 手机自定义设置充电提示音的方法,安卓用户表示也想要~苹果手机有的,安卓手机也必须有!今天,我们就为大家分享一下安卓手机设置充电提示音 ...

  6. 去掉边框_安卓也有堪比 VOUN 的加边框应用了,素材丰富到没朋友

    iOS 系统中有一款可以给照片加边框的应用 VOUN,里面的相框档次很高,调整后的效果也很不错,但是安卓却没有一款类似的应用.开发者 Joey 尝试找了很多款相似的应用,结果不是广告就是骗流量的辣鸡应 ...

  7. additemdecoration重复_安卓中另一个强大的大量数量集控件RecyclerView

    对于RecyclerView 他的不同在于可以更高的自定义风格,达到实现用户友好型更高的效果.主要的自定义体现在以下几个方面: 1.控制其显示的方式,请通过布局管理器LayoutManager 2.控 ...

  8. 自定义UISearchBar 适配IOS6和IOS7 修改放大镜图标 修改光标颜色 修改边框颜色 placeholder颜色 设置文本框背景

    文章转自:http://blog.csdn.net/zhang_red/article/details/21447535 总结下常用的几点: 1.修改放大镜图标 [self setImage:[UII ...

  9. 安卓设置原生alert设置圆角_安卓手机设置充电提示音全新最全教程

    安卓版充电提示音教程_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili​m.bilibili.com 哎,自从前端时间IOS14发布后,他的其他所有功能没有活,唯一火了充电提示音.奈何大傻没有苹果手 ...

最新文章

  1. 猪心移植人体背后竟有个川妹子!36岁哈佛女学霸敲除猪致病基因,获赞「基因剪刀手」...
  2. ubuntu 强制关机后 mysql无法启动
  3. Ubuntu14.04安装nvidia-docker2
  4. RAID原理及其使用方法
  5. C++:undefined reference to vtable 原因与解决办法 [转]
  6. ES6---箭头函数()={} 与function的区别(转载)
  7. Mysql安装和常用命令及问题汇总
  8. 【转】基于WebSocketSharp 的IM 简单实现
  9. vue.js指令v-model实现方法
  10. Oracle sql给一列赋值,简单的Oracle变量SQL赋值
  11. 解决:System.Data.SqlClient.SqlException: 超出了存储过程、函数、触发器或视图的最大嵌套层数(最大层数为 32)....
  12. 基于Packet Tracer的校园网设计与仿真 文档+答辩PPT+配置文件
  13. XRD进行定性分析时可以得到哪些有用信息
  14. Linux下fat32文件系统变为只读
  15. 安卓手机当电脑摄像头(DroidCam网盘及使用方法)
  16. deepin/ubuntu 惠普星14 锐龙版本 安装RTL8821CE 无线网卡驱动
  17. 关于中国电信面试问到的问题
  18. (Java实现)洛谷 P1093 奖学金
  19. 汉诺塔python创新设计_递归经典案例汉诺塔 python实现
  20. vue框架中,图片应该保存在哪里?应该如何访问?

热门文章

  1. Mockito对final类型和方法的支持(三):免配置的inline mock making
  2. 使用Cocoapods快速创建自己的podspec,让你的框架支持cocoapods,podspec
  3. GitHub宣布推出Electron 1.0和Devtron,并将提供无限制的私有代码库
  4. fir.im Weekly - iOS 保持界面流畅的技巧 1
  5. [WorldWind学习]18.High-Performance Timer in C#
  6. TCP/IP 7.2 OSPF 虚链路
  7. ant警告 “warning: 'includeantruntime' was not set”解决方法
  8. SQL Server 2000从入门到精通3
  9. 数据采集技术python网络爬虫答案_高校邦网络数据采集与Python爬虫【带实验】章节答案...
  10. go中使用type关键字来定义类型别名