您的位置:首页 > 其它

drwable资源丶资源文件及补间动画

2016-06-03 13:22 239 查看

drwable资源丶资源文件及补间动画

在android 中也有很多,炫酷的动画,和状态。

drwable资源

shape的介绍和写法:

<?xml version="1.0" encoding="utf-8"?>
<shape
xmlns:android="http://schemas.android.com/apk/res/android"
android:shape=["rectangle" | "oval" | "line" | "ring"] >
<!--    shape必须为根元素,android:shape定义了形状,默认为矩形。
rectangle  矩形     oval  椭圆    line  水平直线。需要元素定义线的宽度  ring  环形-->

<!--   corners只对矩形有效,表示圆角的度数,数值越大角越圆,数值越小越趋近于直角
-->
<corners
android:radius="integer"
android:topLeftRadius="integer"
android:topRightRadius="integer"
android:bottomLeftRadius="integer"
android:bottomRightRadius="integer" />

<!--   gradient表示渐变色
android:angle
渐变色的角度值。0表示从左到右,90表示从下到上。必须是45的倍数,默认是0
android:centerX
渐变色中心的X相对位置(0-1.0)。当android:type=”linear”时无效。
android:centerY
渐变色中心的Y相对位置(0-1.0)。当android:type=”linear”时无效。
android:centerColor      可选的颜色,出现在start和end颜色之间。
android:endColor          end颜色。
android:gradientRadius   渐变色的半径。当android:type=”radial”时有效。
android:startColor         start颜色。
android:type    渐变色的样式   "linear"线性渐变,默认值
"radial"环形渐变。start颜色是处于中间的颜色。  "sweep"  sweep渐变
android:useLevel     “true”表示可以当作LevelListDrawable使用。
-->
<gradient
android:angle="integer"
android:centerX="integer"
android:centerY="integer"
android:centerColor="integer"
android:endColor="color"
android:gradientRadius="integer"
android:startColor="color"
android:type=["linear" | "radial" | "sweep"]
android:useLevel=["true" | "false"] />

<!--   padding表示即对内的偏移
-->
<padding
android:left="integer"
android:top="integer"
android:right="integer"
android:bottom="integer" />

<!--   size为shape大小
-->
<size
android:width="integer"
android:height="integer" />

<!--   solid为填充色
-->
<solid
android:color="color" />

<!--stroke为shape边线的设置
-->
<stroke
android:width="integer"
t:color="color"
android:dashWidth="ieger"
android:dashGap="integer" />
</shape>


clip 资源写法:

<?xml version="1.0" encoding="utf-8"?>
<!-- clipOrientation:截图方向 -->
<!-- drawable:资源 -->
<!-- gravity:截图开始位置 -->
<clip xmlns:android="http://schemas.android.com/apk/res/android"
android:clipOrientation="vertical"
android:drawable="@drawable/logo"
android:gravity="center">

</clip>


<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item  android:state_pressed="true"   android:drawable="@drawable/one"></item>
<item  android:state_pressed="false"   android:drawable="@drawable/two"></item>
</selector>


<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item a
4000
ndroid:top="20dp" android:left="20dp">

<bitmap android:src="@mipmap/ic_launcher" android:gravity="center"></bitmap>
</item>
<item android:top="40dp" android:left="40dp" >
<bitmap android:src="@mipmap/ic_launcher" android:gravity="center"></bitmap>
</item>
<item android:top="60dp" android:left="60dp" >
<bitmap android:src="@mipmap/ic_launcher" android:gravity="center"></bitmap>
</item>

</layer-list>


anim 资源的写法

<?xml version="1.0" encoding="utf-8"?>
<!-- 透明度改变动画
fromAlpha="1.0"从哪个透明度    【值为0.0(全透明)到1.0(不透明)】
toAlpha="0.2"  到哪个透明度
repeatMode  重复模式  【 reverse 逆转     restart  重新开始】
repeatCount 重复次数   【infinite  或用-1   表示无限】
duration  持续时间     【毫秒为单位】
-->
<alpha xmlns:android="http://schemas.android.com/apk/res/android"
android:fromAlpha="1.0"
android:toAlpha="0.2"
android:repeatMode="reverse"
android:repeatCount="infinite"
android:duration="5000">

</alpha>


动态补间动画(最新版本在drwable)

<?xml version="1.0" encoding="utf-8"?>
<!--oneshot  false代表无限次  true 代表一次-->
<animation-list xmlns:android="http://schemas.android.com/apk/res/android"
android:oneshot="false">
<item android:drawable="@drawable/bird1" android:duration="100"></item>
<item android:drawable="@drawable/bird2" android:duration="100"></item>
<item android:drawable="@drawable/bird3" android:duration="100"></item>
<item android:drawable="@drawable/bird4" android:duration="100"></item>
<item android:drawable="@drawable/bird5" android:duration="100"></item>
<item android:drawable="@drawable/bird6" android:duration="100"></item>
<item android:drawable="@drawable/bird7" android:duration="100"></item>
</animation-list>


<?xml version="1.0" encoding="utf-8"?>
<!-- 旋转动画
android:fromDegrees  从哪个角度
android:toDegrees  到哪个角度
android:pivotX="50%"    以自己为旋转中心
android:pivotY="50%"
repeatMode  重复模式  【 reverse 逆转     restart  重新开始】
repeatCount 重复次数   【infinite  或用-1   表示无限】
duration  持续时间     【毫秒为单位】
-->
<rotate xmlns:android="http://schemas.android.com/apk/res/android"
android:fromDegrees="45"
android:toDegrees="90"
android:pivotY="50%"
android:pivotX="50%"
android:repeatMode="restart"
android:repeatCount="-1"
android:duration="2000">

</rotate>


<?xml version="1.0" encoding="utf-8"?>
<!-- 缩放动画
android:fromXScale="1.0" 从x轴缩放的倍数
android:toXScale="0.8" 到x轴缩放的倍数
android:fromYScale="1.0"  从y轴缩放的倍数
android:toYScale="0.8" 到y轴缩放的倍数
android:pivotX="50%"  以图片自己的中心为中心点缩放
repeatMode  重复模式  【 reverse 逆转     restart  重新开始】
repeatCount 重复次数   【infinite  或用-1   表示无限】
duration  持续时间     【毫秒为单位】
-->
<scale xmlns:android="http://schemas.android.com/apk/res/android"
android:fromXScale="1.0"
android:toXScale="0.8"
android:fromYScale="1.0"
android:toYScale="0.8"
android:pivotX="50%"
android:pivotY="50%"
android:repeatMode="reverse"
android:repeatCount="-1"
android:duration="50">

</scale>


<?xml version="1.0" encoding="utf-8"?>
<!-- 平移动画
android:fromXDelta  从x轴点的坐标
android:toXDelta  移动到x轴点的坐标
android:fromYDelta 从y轴点的坐标
android:toYDelta 从y轴点的坐标
-->
<translate xmlns:android="http://schemas.android.com/apk/res/android"
android:fromXDelta="-600"
android:toXDelta="600"
android:repeatMode="reverse"
android:repeatCount="-1"
android:duration="3000"
>

</translate>


属性动画

animator文件下:

<?xml version="1.0" encoding="utf-8"?>
<!--属性动画,是对属性进行控制-->
<objectAnimator xmlns:android="http://schemas.android.com/apk/res/android"
android:propertyName="textColor"
android:duration="1000"
android:valueFrom="#ff00ff"
android:valueTo="#00ff00"
android:repeatMode="reverse"
android:repeatCount="-1"
>

</objectAnimator>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: