博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[Android UI] Shape详解 (GradientDrawable)
阅读量:6341 次
发布时间:2019-06-22

本文共 1262 字,大约阅读时间需要 4 分钟。

转载自:http://blog.csdn.net/feng88724/article/details/6398193

 

在Android开发过程中,经常需要改变控件的默认样式, 那么通常会使用多个图片来解决。不过这种方式可能需要多个图片,比如一个按钮,需要点击时的式样图片,默认的式样图片。 这样就容易使apk变大。

 

   那么除了使用drawable这样的图片外,还有其他方法吗?

 

   本次就谈一下自定义图形shape,Android上支持以下几种属性shape、gradient、stroke、corners、padding、solid等。

 

先来看两个例子:

效果:

效果:

 

总结一下Shape的所有子属性,如图:

 

单说明一下:

 

gradient   -- 对应颜色渐变。 startcolor、endcolor就不多说了。 android:angle 是指从哪个角度开始变。

solid      --  填充。

stroke   --  描边。

corners  --  圆角。

padding   -- 定义内容离边界的距离。 与android:padding_left、android:padding_right这些是一个道理。

 ------------------------------------------------------------------

上面这些不是本讲重点。 本讲的重点是这些xml中属性,与Java类的对应关系, 以及如何使用Java类写出上面一样的效果!

 首先来看对应关系:

 在官方API介绍中:

:This object can be defined in an XML file with the <shape> element(这个对象可以用<shape>元素在xml文件中定义)

:This object can be defined in an XML file with the <shape> element(这个对象可以用<shape>元素在xml文件中定义)

 

 [父节点] shape   --   ShapeDrawable

 [子节点] gradient   --  

 [子节点] padding   --   

 [子节点] corners   --   setCornerRadius 、setCornerRadii 

 [子节点] solid       --    

 [子节点]  stroke   --   setStroke 

 [子节点]  size --   setSize

 


 附件对android.graphics.drawable.Drawable包下的类进行了一下总结。 包括类与XML属性的对应关系。 感觉很不错! 需要的各位可以学习一下。

 

下载地址:  

转载于:https://www.cnblogs.com/0616--ataozhijia/p/3748012.html

你可能感兴趣的文章
如何从命令行把ubuntu15.10升级到ubuntu16.04测试版本
查看>>
012# Adempiere系统的贸易流程(一)
查看>>
(一)阅读器客户端开发实战_引言
查看>>
python 函数的默认参数
查看>>
为何禁用MyBatis缓存
查看>>
手机安装 apk 出现“解析包时出现问题”
查看>>
在Android上面如何使用带有心跳检测的Socket
查看>>
Oracle用户被锁定解决方法
查看>>
485总线的概念
查看>>
我的友情链接
查看>>
JAVA的发展方向
查看>>
Ubuntu下安装Android SDK(图文教程)[解决Google地址被墙问题]
查看>>
《一线架构师》 - 书摘精要
查看>>
Windows server 2008 R2 安装sharepoint2010
查看>>
Python 基础:类与函数
查看>>
Qt学习(002-3)
查看>>
WARNING: No units on 'cache_mem 536870912', assuming 536870912.00 bytes
查看>>
simhash算法
查看>>
digital differential analyzer DDA算法
查看>>
magento robots.txt
查看>>