android圆角View实现及不同版本这间的兼容
2014-06-04 13:18
316 查看
在做我们自己的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
要将一个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过后的版本)
- android圆角View实现及不同版本这间的兼容
- android圆角View实现及不同版本这间的兼容
- android圆角View实现及不同版本这间的兼容
- android圆角View实现及不同版本号这间的兼容
- Android webview实现h5视频全屏播放兼容Android7.0,自己添加webview库兼容全部版本
- android 在使用ViewAnimationUtils.createCircularReveal()无法兼容低版本的情况下,另行实现圆形...
- android 在使用ViewAnimationUtils.createCircularReveal()无法兼容低版本的情况下,另行实现圆形scale动画
- Android ViewGroup实现页面滑动效果并实现不同的动画效果(转载)
- Android 一个按钮两次单击触发两个不同事件并实现两个View在同一界面切换
- AndrowListView实现(自定义游戏列表)防止屏幕闪烁,设置分割线android中不推荐的方法,要考虑向下兼容,用了推荐的新方法,可能不兼容旧版本系统的手机
- android listview 圆角的实现方案,模仿Iphone的UITableView
- Android实战技巧:用TextView实现Rich Text---在同一个TextView中设置不同的字体风格
- Android实战技巧:用TextView实现Rich Text---在同一个TextView中设置不同的字体风格
- Android实战技巧:用TextView实现Rich Text---在同一个TextView中设置不同的字体风格
- Android setContentView 实现同一个activity下不同view的切换
- Android ViewGroup实现页面滑动效果并实现不同的动画效果(转载)
- Android深入探究笔记之二十六 -- 资源国际化 实现中英文等不同版本
- Android ViewGroup实现页面滑动效果并实现不同的动画效果