【Android UI】 Shape详… 分类: Android开发 2014-05-30 10:56 59人阅读 评论(0) 收藏
2014-05-30 10:56
701 查看
在Android开发过程中,经常需要改变控件的默认样式,
那么通常会使用多个图片来解决。不过这种方式可能需要多个图片,比如一个按钮,需要点击时的式样图片,默认的式样图片。
这样就容易使apk变大。
那么除了使用drawable这样的图片外,还有其他方法吗?
本次就谈一下自定义图形shape,Android上支持以下几种属性shape、gradient、stroke、corners、padding、solid等。
先来看两个例子:
view
plainprint?
<</span>shape
xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<</span>gradient android:startColor="#FFFF0000"
android:endColor="#80FF00FF"
android:angle="270" />
<</span>padding android:left="50dp"
android:top="20dp" android:right="7dp"
android:bottom="7dp" />
<</span>corners android:radius="8dp" />
</</span>shape>
效果:
UI】 Shape详解 (GradientDrawable)ZZ" />
view
plainprint?
简单说明一下:
gradient
-- 对应颜色渐变。 startcolor、endcolor就不多说了。
android:angle 是指从哪个角度开始变。
solid
--
填充。
stroke
-- 描边。
corners
-- 圆角。
padding
-- 定义内容离边界的距离。
与android:padding_left、android:padding_right这些是一个道理。
上面这些不是本讲重点。
本讲的重点是这些xml中属性,与Java类的对应关系, 以及如何使用Java类写出上面一样的效果!
首先来看对应关系:
父节点 shape
-- ShapeDrawable
[子节点]
gradient --
[子节点]
padding --
[子节点]
corners -- setCornerRadius
、setCornerRadii
[子节点]
solid --
[子节点]
stroke --
setStroke
[子节点]
size -- setSize
发现只有几个是可以对应的~~
看来通过Java代码来实现上述是行不通的..
那么通常会使用多个图片来解决。不过这种方式可能需要多个图片,比如一个按钮,需要点击时的式样图片,默认的式样图片。
这样就容易使apk变大。
那么除了使用drawable这样的图片外,还有其他方法吗?
本次就谈一下自定义图形shape,Android上支持以下几种属性shape、gradient、stroke、corners、padding、solid等。
先来看两个例子:
view
plainprint?
<</span>shape
xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<</span>gradient android:startColor="#FFFF0000"
android:endColor="#80FF00FF"
android:angle="270" />
<</span>padding android:left="50dp"
android:top="20dp" android:right="7dp"
android:bottom="7dp" />
<</span>corners android:radius="8dp" />
</</span>shape>
效果:
UI】 Shape详解 (GradientDrawable)ZZ" />
view
plainprint?
简单说明一下:
gradient
-- 对应颜色渐变。 startcolor、endcolor就不多说了。
android:angle 是指从哪个角度开始变。
solid
--
填充。
stroke
-- 描边。
corners
-- 圆角。
padding
-- 定义内容离边界的距离。
与android:padding_left、android:padding_right这些是一个道理。
上面这些不是本讲重点。
本讲的重点是这些xml中属性,与Java类的对应关系, 以及如何使用Java类写出上面一样的效果!
首先来看对应关系:
父节点 shape
-- ShapeDrawable
[子节点]
gradient --
[子节点]
padding --
[子节点]
corners -- setCornerRadius
、setCornerRadii
[子节点]
solid --
[子节点]
stroke --
setStroke
[子节点]
size -- setSize
发现只有几个是可以对应的~~
看来通过Java代码来实现上述是行不通的..
相关文章推荐
- Android DatePicker 只… 分类: Android开发 2014-05-30 10:56 68人阅读 评论(0) 收藏
- android 日期控件 dateP… 分类: Android开发 2014-05-30 10:56 58人阅读 评论(0) 收藏
- Android 之自定义控件样式在d… 分类: Android开发 2014-05-30 10:56 45人阅读 评论(0) 收藏
- android DatePicker 分类: Android开发 2014-05-30 10:56 75人阅读 评论(0) 收藏
- Android 基于源码的科学计算… 分类: Android开发 2014-05-30 10:57 59人阅读 评论(0) 收藏
- android Spinner 分类: Android开发 2014-05-30 10:56 62人阅读 评论(0) 收藏
- Android ProGuard: Plea… 分类: Android开发 Android安装及配置 2014-05-30 10:56 62人阅读 评论(0) 收藏
- android常见错误之 No r… 分类: Android开发 2014-05-30 10:54 59人阅读 评论(0) 收藏
- Android中的Table Layout 分类: Android开发 2014-05-30 10:56 70人阅读 评论(0) 收藏
- android 通过eclipse混… 分类: Android开发 2014-05-30 10:56 102人阅读 评论(0) 收藏
- Android SharedPreferences详解 分类: Android开发 2014-05-30 10:56 41人阅读 评论(0) 收藏
- Android 之 下拉框(Spin… 分类: Android开发 2014-05-30 10:56 57人阅读 评论(0) 收藏
- 为Android App程序签名ZZ 分类: Android开发 2014-05-30 10:54 96人阅读 评论(0) 收藏
- Android signed APK程序… 分类: Android开发 2014-05-30 10:53 66人阅读 评论(0) 收藏
- 自定义 Android 日志类 分类: Android开发 2014-05-30 10:53 106人阅读 评论(0) 收藏
- Android SDK开发包国内下载地址 分类: Android开发 2014-05-30 10:52 91人阅读 评论(0) 收藏
- 最新版的android 怎么对MainA… 分类: Android开发 2014-05-30 10:53 62人阅读 评论(0) 收藏
- java 汇率计算源代码ZZ 分类: Android开发 2014-05-30 10:56 65人阅读 评论(0) 收藏
- Android 混淆代码学习以及And… 分类: Android开发 2014-05-30 10:55 95人阅读 评论(0) 收藏
- android 测试更新app时 … 分类: Android开发 2014-05-30 10:54 45人阅读 评论(0) 收藏