zoukankan      html  css  js  c++  java
  • 在XML文件中定义动画(1)

    ① 打开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);
                }
            });
    

      

     

  • 相关阅读:
    周末之个人杂想(十三)
    PowerTip of the DaySorting Multiple Properties
    PowerTip of the DayCreate Remoting Solutions
    PowerTip of the DayAdd Help to Your Functions
    PowerTip of the DayAcessing Function Parameters by Type
    PowerTip of the DayReplace Text in Files
    PowerTip of the DayAdding Extra Information
    PowerTip of the DayPrinting Results
    Win7下IIS 7.5配置SSAS(2008)远程访问
    PowerTip of the DayOpening Current Folder in Explorer
  • 原文地址:https://www.cnblogs.com/daocaowu/p/3202287.html
Copyright © 2011-2022 走看看