android圆角View实现及不同版本这间的兼容
在做我们自己的APP的时候,为了让APP看起来更加的好看,我们就需要将我们的自己的View做成圆角的,毕竟主流也是将很多东西做成圆角,和苹果的外观看起来差不多,看起来也还不错。
要将一个View做成圆角的也很容易,只需要建立一个自定义的Drawable就可以了。
我们在res/drawable下面建立一个shape的drawable,代码如下:
- <?xml version="1.0" encoding="utf-8"?>
- <shape xmlns:android="http://schemas.android.com/apk/res/android" >
- <corners
- android:topLeftRadius="5dp"
- android:topRightRadius="5dp"
- android:bottomLeftRadius="5dp"
- android:bottomRightRadius="5dp"/>
- <stroke
- android:width="1dp"
- android:color="#FF5500"
- />
- </shape>
在这个里面,corners是指的圆角,stroke 是指的边框颜色,有关shape的相关信息可以看官方文档,或者在网上搜搜,有讲的非常详细的博客。
本来没有问题的,可是我后面在做那个只有左边有圆角和只有右边有圆角的时候,出现了一个问题,那就是在android3.0以前,android:bottomLeftRadius与android:bottomRightRadius是
相反的,也就是说,我本来只是设置左边,却成了一个对角显示了,由于本人又没有学好,但是在网上找了好久没有找到解决办法,后面知道了android加载
布局文件的方法后,就知道了这个的解决办法,特在此记录一下,就是在我们的res下建立一个叫drawable-v12的文件目录,这个文件目录是
android3.0过后的版本访问的位置,所以只需要在这个里面放置正确的布局文件就可以了。
代码如下 :
在android3.0以下要写成这样(左边全是圆角):
- <?xml version="1.0" encoding="utf-8"?>
- <shape xmlns:android="http://schemas.android.com/apk/res/android" >
- <corners
- android:topLeftRadius="5dp"
- android:bottomRightRadius="5dp"/>
- <stroke
- android:width="1dp"
- android:color="#FF5500"
- />
- </shape>
而在android3.0以上的版本中,google为我们解决了这个问题,所以我们只需要按照正常情况的写,并把文件放在res/drawable-v12下就行了,如下:
- <?xml version="1.0" encoding="utf-8"?>
- <shape xmlns:android="http://schemas.android.com/apk/res/android" >
- <corners
- android:topLeftRadius="5dp"
- android:bottomLeftRadius="5dp"/>
- <stroke
- android:width="1dp"
- android:color="#FF5500"
- />
- </shape>
在右边的和上面的解决办法一致,在此就不赘述了。
我的源码地址:http://download.csdn.net/detail/lovecluo/5173334
android圆角View实现及不同版本这间的兼容的更多相关文章
- android圆角View实现及不同版本这间的兼容(android3.0过后的版本)
http://blog.csdn.net/lovecluo/article/details/8710174 在做我们自己的APP的时候,为了让APP看起来更加的好看,我们就需要将我们的自己的View做 ...
- android圆角View实现及不同版本号这间的兼容
在做我们自己的APP的时候.为了让APP看起来更加的好看,我们就须要将我们的自己的View做成圆角的,毕竟主流也是将非常多东西做成圆角.和苹果的外观看起来差点儿相同,看起来也还不错. 要将一个View ...
- shape不同版本这间的兼容
在做那个只有左边上面是圆角和只有右边下边是圆角的时候,出现了一个问题,那就是在android3.0以前,android:bottomLeftRadius与android:bottomRightRadi ...
- Android 建立View 圆角
虽然很easy,不过还是录制. 混合参观 在drawable文件下 创建一个布局文件corners_bg.xml <?xml version="1.0" encoding=& ...
- Android圆角布局、天气应用、树状图、日食动画、仿饿了么导航效果等源码
Android精选源码 Android通用圆角布局源码 Android天气应用源码,界面美观 一个支持定制的树状 Android 自定义View PIN 码专用输入控件,支持任意长度和输入任意数据 A ...
- (转)[原] Android 自定义View 密码框 例子
遵从准则 暴露您view中所有影响可见外观的属性或者行为. 通过XML添加和设置样式 通过元素的属性来控制其外观和行为,支持和重要事件交流的事件监听器 详细步骤见:Android 自定义View步骤 ...
- Android 自定义View (五)——实践
前言: 前面已经介绍了<Android 自定义 view(四)-- onMeasure 方法理解>,那么这次我们就来小实践下吧 任务: 公司现有两个任务需要我完成 (1)监测液化天然气液压 ...
- Android 自定义 view(三)—— onDraw 方法理解
前言: 上一篇已经介绍了用自己定义的属性怎么简单定义一个view<Android 自定义view(二) -- attr 使用>,那么接下来我们继续深究自定义view,下一步将要去简单理解自 ...
- [原] Android 自定义View步骤
例子如下:Android 自定义View 密码框 例子 1 良好的自定义View 易用,标准,开放. 一个设计良好的自定义view和其他设计良好的类很像.封装了某个具有易用性接口的功能组合,这些功能能 ...
随机推荐
- Ajax之HTTp请求
71.Ajax的基础概念 *运用html和css来实现页面表达信息 *运用XMLHttpRequest和web服务器进行数据的异步交换 *运用JavaScript操作DOM来实现动态局部刷新 2 ...
- C#中foreach遍历学习笔记
using System; using System.Collections; using System.Collections.Generic; using System.Linq; using S ...
- 通用方法解决dedecms导航调用二级、三级栏目菜单
博客之前做网站的时候经常会遇到二级菜单.三级菜单.了解dede的人都知道从5.5版本开始都有二级菜单的调用方法了,网上也有不少的教程文章.不过这个调用需要修改dede源码的二级菜单样式.个人感觉不是很 ...
- 使用jQuery动态加载js脚本文件的方法
动态加载Javascript是一项非常强大且有用的技术.这方面的主题在网上已经讨论了不少,我也经常会在一些个人项目上使用RequireJS和Dojo加载js 它们很强大,但有时候也会得不偿失.如果你使 ...
- NameNode元数据的管理机制(三)
元数据的管理: 第一步:客户端通过DistributedFilesystem 对象中的creat()方法来创建文件,此时,RPC会 通过一个RPC链接协议来调用namenode,并在命名空间中创建一个 ...
- iOS开发-网络框架-b
网络框架(以下称NJAFNetworking)是基于AFNetworking框架的简单封装,基本功能包括POST请求,GET请求,上传文件,下载文件,网络状态,缓存等. 为什么要使用NJAFNetwo ...
- 如何使用SplitContainer控件[转]
原文地址:http://yinzhihua2008.blog.163.com/blog/static/794306720120511150457/ 在Windows资源管理器中,当把鼠标指针移动到Tr ...
- BZOJ 1032 祖玛
Description 这是一个流行在Jsoi的游戏,名称为祖玛.精致细腻的背景,外加神秘的印加音乐衬托,彷佛置身在古老的国度里面,进行一个神秘的游戏——这就是著名的祖玛游戏.祖玛游戏的主角是一只石青 ...
- Grails架设和配置--起步
现在作这些配置有些轻车熟路了.. 因为RAILS ON RUBY和它真的有很多相像的,, 什么DRY,什么约定先于配置这些的概念... 然后,GITHUB上有好文档,可以一步一步的实践.. https ...
- struts中的ignoreHierarchy 参数和root 参数
struts2 1.ignoreHierarchy 参数:表示是否忽略等级,也就是继承关系,比如:TestAction继承于BaseAction,那么TestAction中返回的json字符串默认是不 ...