Android开发——xml知识之xml可绘制对象简介
引言:摘录Android用户界面设计
Android支持各类xml可绘制对象,其中一些可绘制对象可用于实现让一个资源使用多个图片文件,另外一些则允许你在xml中真正地指定颜色,还有一些你从来都不会用到的,但是,了解是有必要的,指不定哪一天设计界面就会用到,在这里只是简介一下各类可绘制对象的种类与用途,想要继续深入的请走百度!
Layer List
Layer list(层列表)是用xml定义的一组可绘制对象,被用于创建LayerDrawable实例每个可绘制对象以不同的数值偏移到左、上、右、下的位置,可绘制对象以它们被声明(就像view)的顺序绘制出来,并且进行缩放以适应可用的空间
State List
StateListDrawable用选择符xml节点来定义,允许为不同状态指定不同的可绘制对象。一个简单的例子就是按钮按下之后的变化,或者是长按时的颜色变化
Level List
LevelListDrawable管理这众多的可绘制对象,并给每一个可绘制对象指派各种值,电量指示器就是一个很好的例子,到了多少等级显示不同的图片
TransitionDrawable
TransitionDrawable允许指定两个淡入或淡出的可绘制图像,startTransition(int)和reverseTransition(int)方法允许你控制两个可绘制对象之间过渡
InsetDrawable
InsetDrawable允许插入另外一个可绘制图像,当你让一个可绘制对象显得比一个view还小或者大一圈,就可以用到它了
ClipDrawable
ClipDrawable接受一个单独的可绘制对象,并依据一个由等级决定的临界点来剪切或者切掉这个单独的可绘制对象,最常用用于进度条
ScaleDrawable
ScaleDrawable允许在运行过中使用setLevel(int)来缩放可绘制对象
ShapeDrawable
ShapeDrawable是用xml定义的一个矩形,椭圆,线或环
VectorDrawable
VectorDrawable表示使用矢量数据图片的可绘制对象,可以用Android Studio自带的功能将svg格式的图片转换成这类文件
AnimatedVectorDrawable
这一种很容易创建矢量动画的方式,常通过操纵一个矢量的路径将它变成另外的一个矢量
RippleDrawable
产生类似于Android5.0碰到选项后的水纹效果
Android开发——xml知识之xml可绘制对象简介的更多相关文章
- Android开发——Fragment知识整理(一)
0. 前言 Fragment,顾名思义是片段的意思,可以把Fragment当成Activity的一个组成部分,甚至Activity的界面可以完全有不同的Fragment组成.Fragment需要被嵌 ...
- Android开发——Fragment知识整理(二)
0. 前言 Android开发中的Fragment的应用非常广泛,在Android开发--Fragment知识整理(一)中简单介绍了关于Fragment的生命周期,常用API,回退栈的应用等知识.这 ...
- 阿里内部资料:Android开发核心知识笔记共2100页,58万字,完整版开放下载
作为一个3-5年的Android工程师,我们经常会遇到这些瓶颈: 1.技术视野窄长期在小型软件公司,外包公司工作,技术视野被限制的太厉害 2.薪资提升难初中级Android岗位薪资上升空间有限,基本上 ...
- android开发系列之使用xml自定义控件
在android开发的过程中,有的时候面对多个Activity里面一些相同的布局,我们需要写多次相同的代码,同时这种方法给我们的项目维护也带来了很大不便.那么有没有一种可行的办法能够将Activity ...
- 【Bugly 技术干货】Android开发必备知识:为什么说Kotlin值得一试
1.Hello, Kotlin Bugly 技术干货系列内容主要涉及移动开发方向,是由 Bugly邀请腾讯内部各位技术大咖,通过日常工作经验的总结以及感悟撰写而成,内容均属原创,转载请标明出处. 1. ...
- android开发中eclipse里xml开发的自动提示和使用帮助快捷键提示
Eclipse Android 代码自动提示功能 Eclipse for android 设置代码提示功能 打 开 Eclipse 依次选择 Window > Preferences > ...
- Android开发笔记-加载xml资源
1.Activity获取strings.xml中键的值 需要通过 getResources().getString(R.string.*)方法获得 以“state”为例 String value= g ...
- 关于Android开发中使用的XML
1.布局 FrameLayout: 以堆叠方式显示一个或多个子视图. GridLayout: 将子视图按行和列排列. LinearLayout: 将所有子视图排列成一行或一列. RelativeLay ...
- Android 开发必备知识:我和 Gradle 有个约会
腾讯Bugly特约作者:霍丙乾 0.讲个故事 0.1 Ant,我还真以为你是只蚂蚁 真正开始近距离接触编程其实是在2012年,年底的时候带我的大哥说,咱们这个 app 发布的时候手动构建耗时太久,研究 ...
随机推荐
- opnet的simple_source模块学习 分类: opnet 2014-05-18 09:50 170人阅读 评论(0) 收藏
simple_source模块可以在外部设置的属性 有四个局部统计量,分别为产生的bit速率.包速率.包大小,包间隔 状态机为三个非强制对象,在头文件里定义了自中断和转移条件. /*Include f ...
- ES6数字扩展
前面的话 本文将详细介绍ES6数字扩展 指数运算符 ES2016引入的唯一一个JS语法变化是求幂运算符,它是一种将指数应用于基数的数学运算.JS已有的Math.pow()方法可以执行求幂运算,但它也是 ...
- 再起航,我的学习笔记之JavaScript设计模式02
我的学习笔记是根据我的学习情况来定期更新的,预计2-3天更新一章,主要是给大家分享一下,我所学到的知识,如果有什么错误请在评论中指点出来,我一定虚心接受,那么废话不多说开始我们今天的学习分享吧! 我们 ...
- spring-boot整合mybatis(1)
sprig-boot是一个微服务架构,加快了spring工程快速开发,以及简便了配置.接下来开始spring-boot与mybatis的整合. 1.创建一个maven工程命名为spring-boot- ...
- MySQL日期、时间相关内容
欢迎和大家交流技术相关问题: 邮箱: jiangxinnju@163.com 博客园地址: http://www.cnblogs.com/jiangxinnju GitHub地址: https://g ...
- CentOS服务器运维监控Nagios(一)
CentOS下搭建Nagios 王尚 2014.11.09 操作系统:CentOS-6.5-i386-bin-DVD1.iso 安装在VM中进行测试的. 本章需要的软件链接: php-5.3.2.ta ...
- 49. leetcode 94. Binary Tree Inorder Traversal
94. Binary Tree Inorder Traversal 二叉树的中序遍历 递归方法: 非递归:要借助栈,可以利用C++的stack
- 同步读取各平台StreamingAssets文件
//Path为StreamingAssets文件后面的路径 public AssetBundle GetstreamingAssets(string Path) { #if UNITY_EDITOR ...
- private static final long serialVersionUID = 1L;详解
public class User implements Serializable { /** * serialVersionUID */ private static final long seri ...
- 普通程序员如何入门AI
毫无疑问,人工智能是目前整个互联网领域最火的行业,随着AlphaGo战胜世界围棋冠军,以及各种无人驾驶.智能家居项目的布道,人们已经意识到了AI就是下一个风口.当然,程序员是我见过对于新技术最敏感的一 ...