Android应用资源---绘制资源类型(Drawable)(五)
来源:互联网 发布:ipa应用分发源码 编辑:程序博客网 时间:2024/04/28 10:26
嵌入可绘制资源
定义在XML中的一个可绘制资源,它能够用指定的距离嵌入到另一个可绘制资源中。这种资源可在View对象需要的背景比它的实际边界小的时候使用。
文件位置(FILE LOCATION):
res/drawable/filename.xml
文件名被用于资源ID。
被编译资源的数据类型(COMPILED RESOURCE DATATYPE):
资源指向一个InsetDrawable对象。
资源引用(RESOURCE REFERENCE):
在Java代码中:R.drawable.filename
在XML中:@[package:]drawable/filename
语法(SYNTAX):
<?xml version="1.0" encoding="utf-8"?>
<inset
xmlns:android="http://schemas.android.com/apk/res/android"
android:drawable="@drawable/drawable_resource"
android:insetTop="dimension"
android:insetRight="dimension"
android:insetBottom="dimension"
android:insetLeft="dimension"/>
元素(ELEMENTS):
<inset>
定义嵌入的可绘制资源。它必须是根元素。
属性(ATTRIBUTES):
xmlns:android
字符串值,必须的。它定义了XML的命名空间,必须是:http://schemas.android.com/apk/res/android
android:drawable
要绘制的资源,必须的,它指向一个要嵌入的可绘制资源。
android:insetTop
尺寸值。用尺寸值或Dimension资源定义顶部的嵌入位置。
android:insetRight
尺寸值。用尺寸值或Dimension资源定义右边的嵌入位置。
android:insetBottom
尺寸值。用尺寸值或Dimension资源定义底部的嵌入位置。
android:insetLeft
尺寸值。用尺寸值或Dimension资源定义左边的嵌入位置。
例子(EXAMPLE):
<?xml version="1.0" encoding="utf-8"?>
<insetxmlns:android="http://schemas.android.com/apk/res/android"
android:drawable="@drawable/background"
android:insetTop="10dp"
android:insetLeft="10dp"/>
裁剪可绘制资源
定义在XML中的一个可绘制资源,它能够基于这个资源的当前级别来裁剪另一个绘制资源。它能够基于级别来控制子绘制资源要被裁剪掉宽度和高度,就像重力来控制资源被放在容器中位置一样。这种资源经常被用于像进度条这样的效果。
文件位置(FILE LOCATION):
res/drawable/filename.xml
文件名被用作资源ID。
被编译资源的数据类型(COMPILED RESOURCE DATATYPE)
资源指向一个ClipDrawable对象。
资源引用(RESOURCE REFERENCE)
在Java代码中:R.drawable.filename
在XML中:@[package:]drawable/filename
语法(SYNTAX):
<?xml version="1.0" encoding="utf-8"?>
<clip
xmlns:android="http://schemas.android.com/apk/res/android"
android:drawable="@drawable/drawable_resource"
android:clipOrientation=["horizontal" |"vertical"]
android:gravity=["top" |"bottom" | "left" | "right" |"center_vertical" |
"fill_vertical" |"center_horizontal" |"fill_horizontal" |
"center" |"fill" | "clip_vertical" | "clip_horizontal"] />
元素(ELEMENTS):
<clip>
定义要裁剪的绘制资源。它必须是根元素。
属性(ATTRIBUTES):
xmlns:android
字符串值,必须的。它定义了XML的命名空间,必须是:http://schemas.android.com/apk/res/android
android:drawable
可绘制的资源,必须的。它指向要裁剪的一个可绘制资源。
android:clipOrientation
关键值,它定义了裁剪的方向。必须是下列值之一。
值
说明
horizontal
水平方向裁剪可绘制的资源
vertical
垂直方向裁剪可绘制的资源
android:gravity
关键值,它指定了可绘制资源的裁剪位置。
它必须是下表中的一个或多个值的组合(组合时用“|”来分隔)。
值
说明
top
把对象放到容器的顶部,不改变它的尺寸。当clipOrientation被设置为vertical时,会在可绘制资源的底部进行裁剪。
bottom
把对象放到容器的底部,不改变它的尺寸。当clipOrientation被设置为vertical时,会在可绘制资源的顶部进行裁剪。
left
把对象放到容器的左边,不改变它的尺寸。这是默认的设置。当clipOrientation被设置为horizontal时,会在可绘制资源的右边进行裁剪。
right
把对象放到容器的右边,不改变它的尺寸。当clipOrientation被设置为horizontal时,会在可绘制资源的左边进行裁剪。
center_vertical
把对象放在容器的垂直中心位置,不改变它的尺寸。裁剪行为与重力被设为center时相同。
fill_vertical
如果需要,对象的垂直尺寸会增长,以便在垂直方向能够完全填充它的容器。当clipOrientation被设置为vertical时,因为绘制资源要填充垂直空间,所以不会有裁剪发生(除非可绘制资源的级别是0,导致它不可见)。
center_horizontal
把对象放在容器的水平中心,不改变它的尺寸。裁剪行为与重力是center是相同。
fill_horizontal
如果需要,对象会增长它的水平尺寸,以便在水平方向能够完全填充它的容器。当clipOrientation被设置为horizontal时,因为可绘制资源要填充水平空间,所以不会有裁剪发生(除非可绘制资源被设置为0,导致它不可见)。
center
把对象放到它的容器的中心位置,不改变它的尺寸。当clipOrientation被设置为horizontal时,在左右两边会发生裁剪;当clipOrientation被设置为vertical时,在上下两边会发生裁剪。
fill
如果需要,对象水平和垂直尺寸都会增长,以便能够完全填充它的容器。因为可绘制资源要完全填充它的容器的水平和垂直空间,所以不会裁剪发生(除非可绘制资源的级别被设置为0,导致它不可见)。
clip_vertical
额外的选项,它能够把它的容器的上下边界,设置为子对象的上下边缘的裁剪边界。裁剪要基于对象垂直重力设置:如果重力设置为top,则裁剪下边,如果设置为bottom,则裁剪上边,否则则上下两边都要裁剪。
clip_horizontal
额外的选项,它能够把它的容器的左右边界,设置为子对象的左右边缘的裁剪边界。裁剪要基于对象垂直重力设置:如果重力设置为right,则裁剪左边,如果设置为left,则裁剪右边,否则则左右两边都要裁剪。
例子(EXAMPLE):
XML文件被放在res/drawable/clip.xml中:
<?xml version="1.0" encoding="utf-8"?>
<clipxmlns:android="http://schemas.android.com/apk/res/android"
android:drawable="@drawable/android"
android:clipOrientation="horizontal"
android:gravity="left"/>
下面的布局XML给一个View对象应用了这个裁剪可绘制资源。
<ImageView
android:id="@+id/image"
android:background="@drawable/clip"
android:layout_height="wrap_content"
android:layout_width="wrap_content"/>
下面的代码获取了这个可绘制资源,并且为了能够逐步显示这张图片,它添加了裁剪效果:
ImageView imageview=(ImageView) findViewById(R.id.image);
ClipDrawable drawable=(ClipDrawable) imageview.getDrawable();
drawable.setLevel(drawable.getLevel()+1000);
资源显示效果如下图:
- Android应用资源---绘制资源类型(Drawable)(五)
- Android应用资源---绘制资源类型(Drawable)(一)
- Android应用资源---绘制资源类型(Drawable)(二)
- Android应用资源---绘制资源类型(Drawable)(三)
- Android应用资源---绘制资源类型(Drawable)(四)
- Android应用资源---绘制资源类型(Drawable)(六)
- Android应用资源---绘制资源类型(Drawable)(一)
- Android应用资源---布局资源类型(Layout)
- Android应用资源---菜单资源类型(Menu)
- Android应用资源---字符串资源类型(String)
- Android应用资源---样式资源类型(Style)
- Android应用资源---字符串资源类型(String)
- Android应用资源---字符串资源类型(String)
- Android应用资源---字符串资源类型(String)
- Android应用资源---字符串资源类型(String)
- Android应用资源---字符串资源类型(String)
- Android应用资源---字符串资源类型(String)
- Android应用资源---字符串资源类型(String)
- csdnS2-lesson4
- NYOJ 522 裸的树状数组
- 系统设计黄金法则:简单之美
- asp.net gv导出excel
- ERROR: Application requires API version 9. Device API version is 4 (Android 1.6).
- Android应用资源---绘制资源类型(Drawable)(五)
- 互联网盈利模式分析一
- 互联网企业盈利模式全分析二
- 第10周-任务0-构造和析构函数的执行过程实例解析
- [Java]读取文件方法
- 图:经过3个月的努力,教师教学工作有力帮手,考试考查阅卷实用工具软件,考试阅卷评分Office应用系统V2圆满完工,大家提提意见!
- 详解iPhone 下AsyncSocket网络库编程
- android编程小结
- Eclipse快捷键