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

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

要将一个View做成圆角的也很容易,只需要建立一个自定义的Drawable就可以了。

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

  1. <?xml version="1.0" encoding="utf-8"?>

  2. <shape xmlns:android="http://schemas.android.com/apk/res/android" >
  3. <corners

  4. android:topLeftRadius="5dp"

  5. android:topRightRadius="5dp"

  6. android:bottomLeftRadius="5dp"

  7. android:bottomRightRadius="5dp"/>

  8. <stroke

  9. android:width="1dp"

  10. android:color="#FF5500"

  11. />
  12. </shape>

在这个里面,corners是指的圆角,stroke
是指的边框颜色,有关shape的相关信息可以看官方文档,或者在网上搜搜,有讲的非常详细的博客。

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

代码如下 :

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

  1. <?xml version="1.0" encoding="utf-8"?>

  2. <shape xmlns:android="http://schemas.android.com/apk/res/android" >
  3. <corners

  4. android:topLeftRadius="5dp"

  5. android:bottomRightRadius="5dp"/>

  6. <stroke

  7. android:width="1dp"

  8. android:color="#FF5500"

  9. />
  10. </shape>

而在android3.0以上的版本中,google为我们解决了这个问题,所以我们只需要按照正常情况的写,并把文件放在res/drawable-v12下就行了,如下:

  1. <?xml version="1.0" encoding="utf-8"?>

  2. <shape xmlns:android="http://schemas.android.com/apk/res/android" >
  3. <corners

  4. android:topLeftRadius="5dp"

  5. android:bottomLeftRadius="5dp"/>

  6. <stroke

  7. android:width="1dp"

  8. android:color="#FF5500"

  9. />
  10. </shape>

在右边的和上面的解决办法一致,在此就不赘述了。

我的源码地址:http://download.csdn.net/detail/lovecluo/5173334

android圆角View实现及不同版本这间的兼容,布布扣,bubuko.com

时间: 2024-10-29 19:12:03

android圆角View实现及不同版本这间的兼容的相关文章

android圆角View实现及不同版本这间的兼容(android3.0过后的版本)

http://blog.csdn.net/lovecluo/article/details/8710174 在做我们自己的APP的时候,为了让APP看起来更加的好看,我们就需要将我们的自己的View做成圆角的,毕竟主流也是将很多东西做成圆角,和苹果的外观看起来差不多,看起来也还不错.要将一个View做成圆角的也很容易,只需要建立一个自定义的Drawable就可以了.我们在res/drawable下面建立一个shape的drawable,代码如下: <?xml version="1.0&qu

Android 圆角View设置 圆角边框

圆角的Veiw   XML <shape xmlns:android="http://schemas.android.com/apk/res/android"> <solid android:color="@color/gray_white" /> 背景颜色 <corners android:radius="5dp" /> 圆角大小 </shape> 随意定义某个角是圆角加边框 <shape

Android 设置View 圆角

虽然很简单,但还是记录一下.不一到此一游 在drawable文件下 创建一个布局文件corners_bg.xml <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android"> <solid android:color="#000000" />

Android 中View的绘制机制源码分析 一

尊重原创: http://blog.csdn.net/yuanzeyao/article/details/46765113 差不多半年没有写博客了,一是因为工作比较忙,二是觉得没有什么内容值得写,三是因为自己越来越懒了吧,不过最近我对Android中View的绘制机制有了一些新的认识,所以想记录下来并分享给大家.在之后的几篇博客中,我会给大家分享如下的内容: 1.View中measure(),layout(),draw()函数执行过程分析,带领大家详细分析View的尺寸测量过程,位置计算,并最终

Android开发——web浏览器开发(1) 版本1.0

1,建立一个新的项目 webdemo 2,layout下activity_main设计界面(1)待优化 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layo

(转)[原] Android 自定义View 密码框 例子

遵从准则 暴露您view中所有影响可见外观的属性或者行为. 通过XML添加和设置样式 通过元素的属性来控制其外观和行为,支持和重要事件交流的事件监听器 详细步骤见:Android 自定义View步骤 样子 支持的样式 可以通过XML定义影响外边和行为的属性如下 边框圆角值,边框颜色,分割线颜色,边框宽度,密码长度,密码大小,密码颜色 <declare-styleable name="PasswordInputView"> <attr name="border

源码解析Android中View的measure量算过程

Android中的Veiw从内存中到呈现在UI界面上需要依次经历三个阶段:量算 -> 布局 -> 绘图,关于View的量算.布局.绘图的总体机制可参见博文< Android中View的布局及绘图机制>.量算是布局和绘图的基础,所以量算是很重要的一个环节.本文将从源码角度解析View的量算过程,这其中会涉及某些关键类以及关键方法. 对View进行量算的目的是让View的父控件知道View想要多大的尺寸. 量算过程概述 如果要进行量算的View是ViewGroup类型,那么ViewGr

【转】Android中View的绘制过程 onMeasure方法简述 附有自定义View例子

Android中View的绘制过程 当Activity获得焦点时,它将被要求绘制自己的布局,Android framework将会处理绘制过程,Activity只需提供它的布局的根节点. 绘制过程从布局的根节点开始,从根节点开始测量和绘制整个layout tree. 每一个ViewGroup 负责要求它的每一个孩子被绘制,每一个View负责绘制自己. 因为整个树是按顺序遍历的,所以父节点会先被绘制,而兄弟节点会按照它们在树中出现的顺序被绘制. 绘制是一个两遍(two pass)的过程:一个mea

Android 自定义 view(三)&mdash;&mdash; onDraw

前言: 上一篇已经介绍了用自己定义的属性怎么简单定义一个view<Android 自定义view(二) -- attr 使用>,那么接下来我们继续深究自定义view,下一步将要去简单理解自定义view的两个比较重要的方法 onDraw(Canvas canvas) ,在探究 onDraw方法之前,我们必须先深入了解两个类Paint和Canvas .   第一:认识Paint 在探究onDraw之前首先必须要认识两个类,这里给出非常不错的两个资料参考网站,我也是从这里得到想要知道的东西,简单的说