android圆角View实现及不同版本号这间的兼容

本文详细介绍了如何使用XML定义Drawable来为View制作圆角效果,并针对不同Android版本提供了适配解决方案,确保代码在各版本设备上都能正确显示圆角。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在做我们自己的APP的时候。为了让APP看起来更加的好看,我们就须要将我们的自己的View做成圆角的,毕竟主流也是将非常多东西做成圆角。和苹果的外观看起来差点儿相同,看起来也还不错。

要将一个View做成圆角的也非常easy。仅仅须要建立一个自己定义的Drawable就能够了。

我们在res/drawable以下建立一个shape的drawable,代码例如以下:


[html]  view plain copy
  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <shape xmlns:android="http://schemas.android.com/apk/res/android" >  
  3.       
  4.     <corners   
  5.         android:topLeftRadius="5dp"  
  6.         android:topRightRadius="5dp"  
  7.         android:bottomLeftRadius="5dp"  
  8.         android:bottomRightRadius="5dp"/>  
  9.     <stroke   
  10.         android:width="1dp"  
  11.         android:color="#FF5500"  
  12.         />  
  13.   
  14. </shape>  


在这个里面,corners是指的圆角,stroke 是指的边框颜色。有关shape的相关信息能够看官方文档,或者在网上搜搜,有讲的很具体的博客。

本来没有问题的。但是我后面在做那个仅仅有左边有圆角和仅仅有右边有圆角的时候。出现了一个问题。那就是在android3.0曾经。android:bottomLeftRadius与android:bottomRightRadius是相反的,也就是说。我本来仅仅是设置左边,却成了一个对角显示了,因为本人又没有学好。但是在网上找了好久没有找到解决的方法,后面知道了android载入布局文件的方法后。就知道了这个的解决的方法,特在此记录一下,就是在我们的res下建立一个叫drawable-v12的文件文件夹,这个文件文件夹是android3.0过后的版本号訪问的位置。所以仅仅须要在这个里面放置正确的布局文件就能够了。

代码例如以下 :

在android3.0下面要写成这样(左边全是圆角):


[html]  view plain copy
  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <shape xmlns:android="http://schemas.android.com/apk/res/android" >  
  3.       
  4.     <corners   
  5.         android:topLeftRadius="5dp"  
  6.         android:bottomRightRadius="5dp"/>  
  7.     <stroke   
  8.         android:width="1dp"  
  9.         android:color="#FF5500"  
  10.         />  
  11.   
  12. </shape>  

而在android3.0以上的版本号中。google为我们攻克了这个问题,所以我们仅仅须要依照正常情况的写。并把文件放在res/drawable-v12下即可了,例如以下:


 

[html]  view plain copy
  1. <?

    xml version="1.0" encoding="utf-8"?>  
  2. <shape xmlns:android="http://schemas.android.com/apk/res/android" >  
  3.       
  4.     <corners   
  5.         android:topLeftRadius="5dp"  
  6.         android:bottomLeftRadius="5dp"/>  
  7.     <stroke   
  8.         android:width="1dp"  
  9.         android:color="#FF5500"  
  10.         />  
  11.   
  12. </shape>  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值