引言:摘录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可绘制对象简介的更多相关文章

  1. Android开发——Fragment知识整理(一)

    0.  前言 Fragment,顾名思义是片段的意思,可以把Fragment当成Activity的一个组成部分,甚至Activity的界面可以完全有不同的Fragment组成.Fragment需要被嵌 ...

  2. Android开发——Fragment知识整理(二)

    0.  前言 Android开发中的Fragment的应用非常广泛,在Android开发--Fragment知识整理(一)中简单介绍了关于Fragment的生命周期,常用API,回退栈的应用等知识.这 ...

  3. 阿里内部资料:Android开发核心知识笔记共2100页,58万字,完整版开放下载

    作为一个3-5年的Android工程师,我们经常会遇到这些瓶颈: 1.技术视野窄长期在小型软件公司,外包公司工作,技术视野被限制的太厉害 2.薪资提升难初中级Android岗位薪资上升空间有限,基本上 ...

  4. android开发系列之使用xml自定义控件

    在android开发的过程中,有的时候面对多个Activity里面一些相同的布局,我们需要写多次相同的代码,同时这种方法给我们的项目维护也带来了很大不便.那么有没有一种可行的办法能够将Activity ...

  5. 【Bugly 技术干货】Android开发必备知识:为什么说Kotlin值得一试

    1.Hello, Kotlin Bugly 技术干货系列内容主要涉及移动开发方向,是由 Bugly邀请腾讯内部各位技术大咖,通过日常工作经验的总结以及感悟撰写而成,内容均属原创,转载请标明出处. 1. ...

  6. android开发中eclipse里xml开发的自动提示和使用帮助快捷键提示

    Eclipse Android 代码自动提示功能 Eclipse for android 设置代码提示功能 打 开 Eclipse 依次选择 Window > Preferences > ...

  7. Android开发笔记-加载xml资源

    1.Activity获取strings.xml中键的值 需要通过 getResources().getString(R.string.*)方法获得 以“state”为例 String value= g ...

  8. 关于Android开发中使用的XML

    1.布局 FrameLayout: 以堆叠方式显示一个或多个子视图. GridLayout: 将子视图按行和列排列. LinearLayout: 将所有子视图排列成一行或一列. RelativeLay ...

  9. Android 开发必备知识:我和 Gradle 有个约会

    腾讯Bugly特约作者:霍丙乾 0.讲个故事 0.1 Ant,我还真以为你是只蚂蚁 真正开始近距离接触编程其实是在2012年,年底的时候带我的大哥说,咱们这个 app 发布的时候手动构建耗时太久,研究 ...

随机推荐

  1. wpf的一些总结

    wpf技巧 隐藏控件不占空间,设置visibility为:Collapsed tabcontrol的高度宽度跟随界面的大小变化:属性height\width绑定grid的actualheight\ac ...

  2. 简单探讨python中的语句和语法

    python程序结构 python"一切皆对象",这是接触python听到最多的总结了.在python中最基层的单位应该就是对象了,对象需要靠表达式建立处理,而表达式往往存在于语句 ...

  3. 发布内网网站服务器让公网可以访问,无需NAT

    有些时候,我们的测试网站搭建在我们的测试环境中,网站正式上线前,需要先测试下我们的测试网站是否正常,就可以用下面的方式将其内网网站服务器放至公网上,用器提供的外网地址就可以直接访问我们的内网网站服务器 ...

  4. WebServices客户端代码生成

    方式一: 官网下载cxf运行包:http://cxf.apache.org/download.html axis2:http://axis.apache.org/axis2/java/core/dow ...

  5. .NET Exceptionless 日志收集框架本地环境搭建

    一.简介 Exceptionless 是一个开源的实时的日志收集框架,它可以应用在基于 ASP.NET,ASP.NET Core,Web Api,Web Forms,WPF,Console,MVC 等 ...

  6. MySQL 错误1418 的原因分析及解决方法

    具体错误:    使用mysql创建.调用存储过程,函数以及触发器的时候会有错误符号为1418错误.   ERROR 1418 (HY000): This function has none of D ...

  7. XP oracle32位客户端安装找不到orandce11.dll.dbl

    同事在XP上装oracle客户端,遇到下面的问题,mark一下. 提示找不到:orandce11.dll.dbl 点继续还会提示这个文件:orancds11.dll.dbl 网上找到解决方法: 删除注 ...

  8. pyhton购物程序

    要求: 启动程序后,让用户输入工资,然后打印出带有序号的商品列表 用户输入商品序号购买相应的商品,或者输入 ' q ' 退出购买界面 选择商品后,检查余额是否足够,够则直接扣款,不够则提示余额不足 用 ...

  9. 【机器学习笔记之七】PCA 的数学原理和可视化效果

    PCA 的数学原理和可视化效果 本文结构: 什么是 PCA 数学原理 可视化效果 1. 什么是 PCA PCA (principal component analysis, 主成分分析) 是机器学习中 ...

  10. CSS中的盒模型

    CSS的盒模型描述了一些长方形盒子,这些长方形盒子被用来表示文档树中的元素,并根据视觉格式化模型进行定位. 1. 盒子的尺寸 每个盒子都有一个content区域(比如文本.图片等)和可选的包围cont ...