Android:控件anim动画效果xml文件属性值含义

① 打开Eclipse,新建Android工程
② 在res目录中新建anim文件夹
③ 在anim目录中新建一个myanim.xml(注意文件名小写)
④ 加入XML的动画代码

<?xml version="1.0" encoding="utf-8"?>

<set xmlns:android="http://schemas.android.com/apk/res/android">

       <alpha/>

      <scale/>

      <translate/>

      <rotate/>

</set>

    Android动画解析--XML
    <alpha>
       <?xml version="1.0" encoding="utf-8"?>

           <set xmlns:android="http://schemas.android.com/apk/res/android" >

               <alpha

                 android:fromAlpha="0.1"

                android:toAlpha="1.0"

                android:duration="3000"/>

    <!-- 透明度控制动画效果 alpha

    ‍   浮点型值:

       fromAlpha 属性为动画起始时透明度

       toAlpha   属性为动画结束时透明度

          说明:

                      0.0表示完全透明

                     1.0表示完全不透明

                    以上值取0.0-1.0之间的float数据类型的数字

                     长整型值

        duration  属性为动画持续时间

            说明:

                    时间以毫秒为单位

      </set>

    <scale>
    <?xml version="1.0" encoding="utf-8"?>

       <set xmlns:android="http://schemas.android.com/apk/res/android">

            <scale

                android:interpolator=   "@android:anim/accelerate_decelerate_interpolator"

                android:fromXScale="0.0"

                android:toXScale="1.4"

                android:fromYScale="0.0"

                android:toYScale="1.4"

                android:pivotX="50%"

                android:pivotY="50%"

                android:fillAfter="false"

                android:duration="700" />

     </set>

    <!-- 尺寸伸缩动画效果 scale

      属性:interpolator 指定一个动画的插入器

      在我试验过程中,使用android.res.anim中的资源时候发现

    有三种动画插入器:

                   accelerate_decelerate_interpolator  加速-减速 动画插入器

                   accelerate_interpolator        加速-动画插入器

                   decelerate_interpolator        减速- 动画插入器

                   其他的属于特定的动画效果

     浮点型值:

                  fromXScale 属性为动画起始时 X坐标上的伸缩尺寸

                  toXScale   属性为动画结束时 X坐标上的伸缩尺寸

                  fromYScale 属性为动画起始时Y坐标上的伸缩尺寸

                  toYScale   属性为动画结束时Y坐标上的伸缩尺寸

      说明:

    以上四种属性值

                  0.0表示收缩到没有

                  1.0表示正常无伸缩

                   值小于1.0表示收缩

                   值大于1.0表示放大

               pivotX     属性为动画相对于物件的X坐标的开始位置

               pivotY     属性为动画相对于物件的Y坐标的开始位置

     说明:

                  以上两个属性值 从0%-100%中取值

                  50%为物件的X或Y方向坐标上的中点位置

     长整型值:

                  duration  属性为动画持续时间

                   说明:   时间以毫秒为单位

    布尔型值:

                  fillAfter 属性 当设置为true ,该动画转化在动画结束后被应用

    <translate>
    <?xml version="1.0" encoding="utf-8"?>

      <set xmlns:android="http://schemas.android.com/apk/res/android">

         <translate

                 android:fromXDelta="30"

                 android:toXDelta="-80"

                 android:fromYDelta="30"

                  android:toYDelta="300"

                 android:duration="2000"

              />

      <!-- translate 位置转移动画效果

      整型值:

                  fromXDelta 属性为动画起始时 X坐标上的位置

                  toXDelta   属性为动画结束时 X坐标上的位置

                  fromYDelta 属性为动画起始时 Y坐标上的位置

                  toYDelta   属性为动画结束时 Y坐标上的位置

       注意:

                   没有指定fromXType toXType fromYType toYType 时候,

                    默认是以自己为相对参照物

    长整型值:

                  duration  属性为动画持续时间

                  说明:   时间以毫秒为单位

    </set>

    <rotate>
    <?xml version="1.0" encoding="utf-8"?>

    <set xmlns:android="http://schemas.android.com/apk/res/android">

        <rotate  android:interpolator="@android:anim/accelerate_decelerate_interpolator"

                    android:fromDegrees="0"

                    android:toDegrees="+350"

                     android:pivotX="50%"

                     android:pivotY="50%"

                     android:duration="3000" />

    <!-- rotate 旋转动画效果

         属性:interpolator 指定一个动画的插入器

        在我试验过程中,使用android.res.anim中的资源时候发现

         有三种动画插入器:

                    accelerate_decelerate_interpolator   加速-减速 动画插入器

                    accelerate_interpolator               加速-动画插入器

                     decelerate_interpolator               减速- 动画插入器

          其他的属于特定的动画效果

           浮点数型值:

                   fromDegrees 属性为动画起始时物件的角度

                   toDegrees   属性为动画结束时物件旋转的角度 可以大于360度

            说明:

                     当角度为负数——表示逆时针旋转

                     当角度为正数——表示顺时针旋转

                                 (负数from——to正数:顺时针旋转)

                                 (负数from——to负数:逆时针旋转)

                                 (正数from——to正数:顺时针旋转)

                                 (正数from——to负数:逆时针旋转)

                               pivotX     属性为动画相对于物件的X坐标的开始位置

                                pivotY     属性为动画相对于物件的Y坐标的开始位置

    说明:        以上两个属性值 从0%-100%中取值

                    50%为物件的X或Y方向坐标上的中点位置 长整型值:

                   duration  属性为动画持续时间

      说明:       时间以毫秒为单位

    </set>

      java 文件调用

              Button button=(Button)findViewById(R.id.ok)
              button.setOnClickListener(new OnClickListener(){

                public void onClick(View v) {
                    Animation animation=AnimationUtils.loadAnimation(HelloActivity.this,R.anim.buttonain);
                   findViewById(R.id.listView).startAnimation(animation);
                  }
              });

       

      转自:http://www.apkbus.com/blog-12685-242.html

      • 0
        点赞
      • 2
        收藏
        觉得还不错? 一键收藏
      • 0
        评论
      可以使用 Layer-List 和 Rotate Animation 来实现这个效果。 1. 首先,在 res/drawable 目录下新建一个 xml 文件,例如 ring.xml,用来定义圆环的形状和颜色。代码如下: ``` <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item> <shape android:innerRadius="30dp" android:thickness="10dp" android:shape="ring" android:useLevel="false"> <solid android:color="@android:color/transparent" /> <stroke android:width="5dp" android:color="@android:color/holo_blue_light" /> </shape> </item> </layer-list> ``` 2. 接着,在 res/anim 目录下新建一个 xml 文件,例如 rotate.xml,用来定义圆环的旋转动画。代码如下: ``` <rotate xmlns:android="http://schemas.android.com/apk/res/android" android:duration="1000" android:fromDegrees="0" android:toDegrees="45" android:pivotX="50%" android:pivotY="50%" /> ``` 3. 最后,在布局文件中添加一个 ImageView,并将上述两个文件作为其 background 和 animation 属性。代码如下: ``` <ImageView android:id="@+id/ring" android:layout_width="100dp" android:layout_height="100dp" android:background="@drawable/ring" android:layout_centerInParent="true" android:clickable="true" android:onClick="rotate" /> ``` 其中,rotate 是一个在 Activity 中定义的方法,用来触发动画。代码如下: ``` public void rotate(View view) { ImageView ring = (ImageView) view; Animation anim = AnimationUtils.loadAnimation(this, R.anim.rotate); ring.startAnimation(anim); } ``` 现在,点击圆环就可以看到它顺时针旋转45度的动画效果了。

      “相关推荐”对你有帮助么?

      • 非常没帮助
      • 没帮助
      • 一般
      • 有帮助
      • 非常有帮助
      提交
      评论
      添加红包

      请填写红包祝福语或标题

      红包个数最小为10个

      红包金额最低5元

      当前余额3.43前往充值 >
      需支付:10.00
      成就一亿技术人!
      领取后你会自动成为博主和红包主的粉丝 规则
      hope_wisdom
      发出的红包
      实付
      使用余额支付
      点击重新获取
      扫码支付
      钱包余额 0

      抵扣说明:

      1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
      2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

      余额充值