关于android资源类型简述
资源类型
本节中的每个⽂件描述的使⽤,格式和语法对于某些类型的应⽤程序资源,你可以提供你的资源⽬录(res/)。在这⾥简短的总结每个资源类型:
动画资源
定义预先确定动画。
补间动画保存在 res/anim/下,从R.anim类访问。
帧动画保存在 res/drawable/ 下,从R.drawable类访问。
颜⾊状态列表资源
定义⼀个颜⾊资源,在视图状态变化的基础上改变。
保存在res/color/ 下,从R.color类访问。
drawable资源
⽤位图或XML定义各种图形。
保存在 res/drawable/ 下,从R.drawable类访问。
布局资源
定义您的应⽤程序的⽤户界⾯布局。
保存在res/layout/下,从R.layout类访问。
菜单资源
定义您的应⽤程序菜单中的内容。
保存在res/menu/下,从R.menu类访问。
字符串资源
定义字符串,字符串数组和复数形式(包括字符串格式和样式)。
保存在res/values/下,从R.string, R.array,和 R.plurals类访问。
定义⽤户界⾯元素的外观和格式。
保存在res/values/下,从R.style类访问。
更多的资源类型
如布尔值、整数、尺⼨、颜⾊和其他数组资源的定义。
保存在res/values/下,但是每个从独特的R⼦类访问(如R.bool、R.integer、R.dimen等)。
--------------------------------------------------------------------------------------------------------------------------------------------------------------
rotate属性动画资源
动画资源可以定义两种类型的动画之⼀:
属性动画
创建⼀个动画通过修改⼀个对象的属性值在规定的时间内⽤⼀个Animator。
视图动画
有两种类型的动画,你可以⽤作视图动画框架:
补间动画:创建⼀个动画通过执⾏⼀系列的图像到动画的转换
帧动画:或创建⼀个动画,通过展⽰⼀个序列的图像⽤AnimationDrawable。
属性动画
动画在XML中定义,可以修改属性的⽬标对象,例如背景颜⾊或透明度,通过⼀定数量的时间值。
⽂件位置:
res/l
这个⽂件名将被⽤作资源ID。
编译资源数据类型:
资源指向,或
资源引⽤:
Java源⽂件中: R.animator.filename
XML⽂件中: @[package:]animator/filename
语法:
< android:ordering=["together" | "sequentially"]>
<
android:propertyName="string"
android:duration="int"
android:valueFrom="float | int | color"
android:valueTo="float | int | color"
android:startOffset="int"
android:repeatCount="int"
android:repeatMode=["repeat" | "reverse"]
android:valueType=["intType" | "floatType"]/>
<
android:duration="int"
android:valueFrom="float | int | color"
android:valueTo="float | int | color"
android:startOffset="int"
android:repeatCount="int"
android:repeatMode=["repeat" | "reverse"]
android:valueType=["intType" | "floatType"]/>
<>
.
..
</set>
</set>
⽂件必须有⼀个根元素:<set>,<objectAnimator>或 <valueAnimator>。你可以将动画元素⼀起组织起来,⼀个<set> 元素包含另⼀个<set> 元素。
元素:
<set>
⼀个容器可以包含其他的动画元素(<objectAnimator>, <valueAnimator>或其他<set>元素),代表⼀个AnimatorSet。
你可以指定嵌套的<set>标签来进⼀步组织动画在⼀起。每个<set>可以定义其ordering属性。
属性:
android:ordering
关键字:指定在此设置的动画播放顺序。
值描述
sequentially在这组依次播放动画
together (default)在这个集合同⼀时间播放动画
<objectAnimator>
使得⼀个特定属性对象在⼀个特定时间内。代表⼀个ObjectAnimator。
属性:
android:propertyName
String型,要求,对象的属性动画,通过其名称引⽤。例如你可以给⼀个视图对象指定“alpha”或“backgroundColor”属性。objectAnimator的元素不暴露⽬标属性,所以你不能在XML声明中设置对象动画。你必须解析你的动画的XML资源通过调⽤和call来设置⽬标对象,⽬标对象包含这个属性。
android:valueTo
float型,int型或color型。要求,在动画属性值结束。颜⾊表⽰为六位⼗六进制数字(例如,# 333333)。
android:valueFrom
float型,int型或color型。在动画属性的值开始。如果未指定,动画开始值通过属性的获取⽅法获得。颜⾊表⽰为六位⼗六进制数字(例如,# 333333)。
android:duration
int型,动画时间是以毫秒为单位的,默认为300毫秒。
android:startOffset
int型,动画在start()被调⽤之后延迟这个数的毫秒开始。
android:repeatCount
int型,重复多少次动画。设置为“-1”为⽆限次重复或设置为⼀个正整数。例如,值“1”意味着在动画初
始化运⾏⼀次后重复⼀次,因此动画总共运⾏了两遍。默认值为“0”,表⽰不重复。
android:repeatMode
int型,当动画到末尾时如何运转。android:repeatCountmust这个属性被设置为⼀个正整数或“-1”来产⽣效果。设置为“reverse”会使动画逐个迭代通过相反⽅向或设置为“repeat”会使动画每次从开始时刻循环。
android:valueType
关键字,如果值为颜⾊不会指定这个属性,动画框架会⾃动处理颜⾊值。
值描述
intType指定动画值是整数
floatType (默认)指定动画值是浮点数
<animator>
在指定的时间执⾏动画,代表⼀个。
属性:
android:valueTo
float型,int型或color型。要求,在动画结束的值。颜⾊表⽰为六位⼗六进制数字(例如,# 333333)。
android:valueFrom
float型,int型或color型。在动画开始的值。颜⾊表⽰为六位⼗六进制数字(例如,# 333333)。
android:duration
int型,动画时间是以毫秒为单位的,默认为300毫秒。
android:startOffset
int型,动画在start()被调⽤之后延迟这个数的毫秒开始。
android:repeatCount
int型,重复多少次动画。设置为“-1”为⽆限次重复或设置为⼀个正整数。例如,值“1”意味着在动画初始化运⾏⼀次后重复⼀次,因此动画总共运⾏了两遍。默认值为“0”,表⽰不重复。
android:repeatMode
int型,当动画到末尾时如何运转。android:repeatCountmust这个属性被设置为⼀个正整数或“-1”来产⽣效果。设置为“reverse”会使动画逐个迭代通过相反⽅向或设置为“repeat”会使动画每次从开始时刻循环。
android:valueType
关键字,如果值为颜⾊不会指定这个属性,动画框架会⾃动处理颜⾊值。
值描述
intType指定动画值是整数
floatType (默认)指定动画值是浮点数
例⼦:
XML⽂件保存在 res/animator/l:
<set android:ordering="sequentially">
<set>
<objectAnimator
android:propertyName="x"
android:duration="500"
android:valueTo="400"
android:valueType="intType"/>
<objectAnimator
android:propertyName="y"
android:duration="500"
android:valueTo="300"
android:valueType="intType"/>
</set>
<objectAnimator
android:propertyName="alpha"
android:duration="500"
android:valueTo="1f"/>
</set>
按照顺序播放这个动画,你必须在代码中通过解析这个XML资源获取对象,在动画集合开始前你必须为你的所有动画设置⽬标对象。Calling 为了所有⼦对象⽅便设置为单⼀⽬标对象。下⾯的代码⽰范了如何使⽤:
AnimatorSet set = (AnimatorSet) AnimatorInflater.loadAnimator(myContext,
R.anim.property_animator);
set.setTarget(myObject);
set.start();
参见:
属性动画
API的例⼦演⽰如何使⽤属性动画系统。
视图动画
视图动画框架既⽀持补间动画⼜⽀持逐帧动画,它们都可以⽤XML声明。以下部分描述如何使⽤这两种⽅法。
补间动画
动画定义在XML中,执⾏变换如图形旋转、渐变、移动和伸缩。
⽂件位置:
res/l
⽂件名将被⽤作资源ID。
编译资源数据类型:
资源指向
资源引⽤:
在Java源⽂件中: R.anim.filename
在XML⽂件中: @[package:]anim/filename
语法:
<?xml version="1.0" encoding="utf-8"?>
< xmlns:android="schemas.android/apk/res/android"
android:interpolator="@[package:]anim/interpolator_resource"
android:shareInterpolator=["true" | "false"] >
<
android:fromAlpha="float"
android:toAlpha="float" />
<
android:fromXScale="float"
android:toXScale="float"
android:fromYScale="float"
android:toYScale="float"
android:pivotX="float"
android:pivotY="float" />
<
android:fromXDelta="float"
android:toXDelta="float"
android:fromYDelta="float"
android:toYDelta="float" />
<
android:fromDegrees="float"
android:toDegrees="float"
android:pivotX="float"
android:pivotY="float" />
<>
...
</set>
</set>
这个⽂件必须包含⼀个根元素:可以是<alpha>、 <scale>、<translate>、<rotate>或 <set>元素包含⼀组(或多组)其他动画元素(甚⾄是嵌套的<set>元素)。
元素:
<set>
⼀个容器包含其他动画元素(<alpha>、<scale>、<translate>、<rotate>)或其他<set>元素,代表。
属性:
android:interpolator
插值器资源,插值器应⽤在动画上,这个值必须是资源的引⽤,指定⼀个插值器(不是⼀个插值器类名)。默认插值器资源可以从平台获取或你可以创建⾃⼰的插值器资源。看下⾯更多关于插值器的讨论。
android:shareInterpolator
Boolean型,“true”----如果你想在所有⼦元素中共享相同的插值器。
<alpha>
淡⼊或淡出动画。代表AlphaAnimation。
属性:
android:fromAlpha
Float型,开始不透明度补偿,0.0是透明的和1.0是不透明的。
android:toAlpha
Float型,结束不透明度补偿,0.0是透明的和1.0是不透明的。
关于<alpha>更多的属性⽀持,参看类的引⽤(其中,所有XML属性继承了这个元素)。
<scale>
调整⼤⼩动画。你可以指定图像的中⼼位置,它向外增长(或向内)通过指定pivotX和pivotY。例如,如果这些值为0,0(左上⾓),所有的增长将向下拉到右边。代表ScaleAnimation。
属性:
android:fromXScale
Float型,开始X轴偏移,当值为1.0时表⽰没有变化。
android:toXScale

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。