黄继红+刘正余
[摘 要]为实现Android APP在不同分辨率的Android运行平台上能无缝缩放视图内容,Android开发了自己UI工具包。本文通过案例主要介绍了UI包中的各种图形模式的使用方法,主要包括颜色渐变模式,圆角图形模式,Drawable模式,9-patch模式。
[关键词]视图 图形模式 Drawable
中图分类号:TP183 文献标识码:A 文章编号:1009-914X(2016)24-0154-01
1 引言
开发的Android APP运行的设备种类繁多,大相径庭,为了适应这种需求,并给软件开发人员提供高效的开发便利,Android的UI工具包具有更加的灵活性,能够实现在所有设备之间无缝缩放的视图内容。其中,Drawable类就可以创建可扩展图形对象和灵活的动画图形元素,实现与不同设备的任何图有效的关联。本文通过系统的分析Android系统的Drawable背景模式和自定义的Drawable背景模式来了解Android APP如何实现与各种不同的运行设备实现无缝缩放对接[1]。
2 可扩展图形模式
Android视图中背景,如果使用静态图片,需要准备种种尺寸的图片,以适应不同类型的设备,如果视图的大小在发生变化,要求背景图片尺寸也要动态地变化,会给开发人员增添更多的工作,且非常的麻烦。
为了避免以上问题,Android使用了新的技术,即通过一个XML文件中的各种属性元素来描述一个图形,再将这个图形就用于各种不同的用途。该XML文件描述的图形大小可以动态变化以适应不同的需求环境[2]。具体实现有以下几种模式。
2.1颜色渐变模式
颜色渐变模式,是通过几种不同的灰阶实现种不同的颜色渐变效果,主要有Linear渐变模式,Radial渐变模式,Sweep渐变模式。以Linear渐变模式为例。
创建的res/drawable/backgroundgraient.xml文件内容为:
res/drawable/backgroundgraient.xml
< xml version="1.0" encoding="utf-8" >
android:shape="rectangle"> android:startColor="#ffffff" android:endColor="#000000" android:type="linear" android:angle="270" />
然后,在需要的视图中就可以引用该图形。例如,在TextView视图中的设置背景为:android:background="@drawable/ backgroundgraient。
其他两种颜色渐变模式将android:type属性值分别设置为radial和sweep。
2.2圆角图形模式
圆角图形模式,是在XML文件中用若干个小部件组织成一个圆角图形。例如:
首先,创建res/drawable/roundshape.xml文件
< xml version="1.0" encoding="utf-8" >
android:shape="rectangle"> android:color="#ffffff"/> android:radius="15dip"/> android:width="5dip" android:color="#000000"/>
在该示例中,填充色为白色,边框线条是黑色,粗细为5dip,圆角半经为15dip。在任何视图和布局中都可以引用该图形。例如:
在XML文件中的引用,android:background="@drawable/roundshape"。
在java代码中的引用为,View.setBackgroundResource(R.drawable.roundshape)。
2.3 Drawable模式
Drawable模式,通过在XML文件中定义重复的方式平铺小的图片,而不需要在内存中加载大的图片。程序通过设置
首先,创建res/drawable/drawablepattern.xml
<?xml version="1.0" encoding="utf-8"?>
android:src="@drawable/smallmap" android:tileMode="repeat" /> 其中,android:src="@drawable/smallmap",为引用的小图片;android:tileMode="repeat",为小图片重复平铺的方式。 其他视图或布局文件,可以引用该视图资源,引用方式,同上。 2.4 9-patch模式 9-patch技术可以将图片横向和纵向同时进行拉伸,且不会使原图片失真。把一张png图分成了9个部分,分别为4个角,4条边,一个中间区域,4个角是不能被拉伸,可以一直保持原来状态,2条水平边和垂直边分别只做水平和垂直拉伸,但只对黑线指定的区域进行拉伸[3]。使用9-patch模式具体方法如下。 首先,制作9-patch图片。打开android-sdk-windows\tools目录下的“draw9patch.bat”文件,然后,将已经制作好的png图片拖拽到draw9patch窗口中。 其次,在视图直接引用该图片资源。例如: android:layout_width="match_parent" android:layout_height="100dp" android:background="@drawable/background9patch" /> 其中,background9patc为存储在drawable文件中的background9patc.9.png图片 3 小结 通过上述中案例分析,详细介绍了Android UI工具包中的各种图形模式的使用方法,主要包括颜色渐变模式,圆角图形模式,Drawable模式,9-patch模式, 参考文献: [1]耿祥义.Android手机程序设计实用教程[M].清华大学出版社.2013.6 [2] 郭志宏. Android应用开发详解[M].电子工业出版社. 2010. [3] Dave Smith等. Android5.0开发范例代码大全[M].清华大学出版社.2015.9
中国科技博览2016年25期