zoukankan      html  css  js  c++  java
  • android的ViewPager和Animation有些使用(二)

    Animation部分


    android的animation分scale,rotate,tranlateAnimation,alpha这些类型的

    start animation这里有几种方法:

    <span style="white-space:pre">	</span>    t1_icon1.setImageResource(R.drawable.t1_frame_animation);  //<span style="font-family: Arial, Helvetica, sans-serif;">t1_frame_animation这个动画是放在drawable下的</span>
    
                t1_icon1_animationDrawable = (AnimationDrawable) t1_icon1  
                        .getDrawable();  
                t1_icon1_animationDrawable.start(); 

    t1_frame_animation的xml 是两种图案的交替显示:
    <?xml version="1.0" encoding="UTF-8"?

    > <animation-list android:oneshot="false" xmlns:android="http://schemas.android.com/apk/res/android"> <item android:duration="200" android:drawable="@drawable/tutorial1_icon1" /> <item android:duration="200" android:drawable="@drawable/tutorial1_icon2" /> </animation-list>


    另一种是放在anim目录下:

      <span style="white-space:pre">	</span>    Animation tutorail_rotate = AnimationUtils.loadAnimation(MainActivity.this, R.anim.tutorail_rotate);
                t1_icon2.startAnimation(tutorail_rotate);

    <?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:duration="800" android:pivotX="50.0%" android:pivotY="50.0%" android:fillAfter="false" android:fromXScale="0.0" android:toXScale="1.2" android:fromYScale="0.0" android:toYScale="1.2" />
        <rotate android:duration="3000" android:fromDegrees="0.0" android:toDegrees="359.0" android:pivotX="50.0%" android:pivotY="50.0%" android:repeatCount="infinite" />
    </set>

    当中: pivotX为属性为动画相对于物件的X坐标的開始位置,一般填50%,就是View的中心点,repeateCount的意思是反复的次数


    另一种为LayoutAnimation:

    直接在xml中载入


    对于这种引导页面:




    第一页的动画是:

    t1_icon1.setImageResource(R.drawable.t1_frame_animation);  
                t1_icon1_animationDrawable = (AnimationDrawable) t1_icon1  
                        .getDrawable();  
                t1_icon1_animationDrawable.start();  
                
                Animation tutorail_rotate = AnimationUtils.loadAnimation(MainActivity.this, R.anim.tutorail_rotate);
                t1_icon2.startAnimation(tutorail_rotate);
                Animation tutorail_scalate = AnimationUtils.loadAnimation(MainActivity.this, R.anim.tutorail_scalate);
                t1_fixed.startAnimation(tutorail_scalate);
               
                Animation tutorail_bottom = AnimationUtils.loadAnimation(MainActivity.this, R.anim.tutorail_bottom);
                t1_next.startAnimation(tutorail_bottom);

    <pre name="code" class="java" style="line-height: 18px;">tutorail_scalate<span style="font-family: Consolas, 'Courier New', Courier, mono, serif;">为:</span>

    
    
    <?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:duration="1000" android:pivotX="50.0%" android:pivotY="50.0%" android:fillAfter="false" android:fromXScale="0.0" android:toXScale="1.1" android:fromYScale="0.0" android:toYScale="1.1" /> </set>

    <span style="font-family: Consolas, 'Courier New', Courier, mono, serif;">tutorail_bottom为:</span>
    <pre name="code" class="java" style="line-height: 18px;"><pre name="code" class="html"><?xml version="1.0" encoding="UTF-8"?>
    <set android:repeatMode="reverse"
      xmlns:android="http://schemas.android.com/apk/res/android">
        <translate android:duration="1000" android:repeatCount="infinite" android:fromXDelta="0.0" android:toXDelta="0.0" android:fromYDelta="-15.0" android:toYDelta="20.0" />
        <alpha android:duration="1000" android:repeatCount="infinite" android:fromAlpha="1.0" android:toAlpha="0.3" />
    </set>
    </pre><pre code_snippet_id="426826" snippet_file_name="blog_20140715_11_1748017" name="code" class="html">第一页的Layout为:
    <pre name="code" class="html"><?xml version="1.0" encoding="UTF-8"?>
    <LinearLayout android:gravity="center" android:orientation="vertical" android:background="@android:color/white" android:layout_width="fill_parent" android:layout_height="fill_parent"
      xmlns:android="http://schemas.android.com/apk/res/android">
        <ImageView android:id="@+id/t1_fixed" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginBottom="15.0dip" android:src="@drawable/tutorial1_fixed" />
        <RelativeLayout android:id="@+id/center_layout" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_centerInParent="true">
            <ImageView android:id="@+id/t1_icon1" android:background="@drawable/t1_frame_animation" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="180.0dip" android:layout_marginTop="53.0dip" />
            <ImageView android:id="@+id/t1_icon2" android:visibility="visible" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="30.0dip" android:src="@drawable/tutorial1_icon3" android:layout_below="@id/t1_icon1" android:layout_centerHorizontal="true" />
            <ImageView android:id="@+id/t1_static" android:visibility="visible" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/tutorial1_static" android:layout_centerHorizontal="true" />
            <ImageView android:id="@+id/t1_text" android:visibility="visible" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="10.0dip" android:src="@drawable/tutorial1_text" android:layout_below="@id/t1_static" android:layout_centerHorizontal="true" />
        </RelativeLayout>
        <ImageView android:id="@+id/t1_next" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="20.0dip" android:src="@drawable/tutorial_next" />
    </LinearLayout>
    </pre><pre code_snippet_id="426826" snippet_file_name="blog_20140715_14_7418428" name="code" class="html">第4页的火箭是採用:
    <span style="white-space:pre">			</span>t3_icon6.setImageResource(R.drawable.t3_frame_animation);
    <span style="white-space:pre">			</span>AnimationDrawable t3_icon6_animationDrawable = (AnimationDrawable) t3_icon6.getDrawable();
    <span style="white-space:pre">			</span>t3_icon6_animationDrawable.start();
    
    </pre><pre code_snippet_id="426826" snippet_file_name="blog_20140715_17_3437503" name="code" class="html"><pre name="code" class="html" style="line-height: 18px;">t3_frame_animation为:
    <?xml version="1.0" encoding="UTF-8"?>
    <animation-list android:oneshot="false"
      xmlns:android="http://schemas.android.com/apk/res/android">
        <item android:duration="70" android:drawable="@drawable/rocket_long" />
        <item android:duration="70" android:drawable="@drawable/rocket_middle" />
        <item android:duration="70" android:drawable="@drawable/rocket_short" />
    </animation-list>
    

    
    
    第四页的摆动动画这样写:
    int pivot = Animation.RELATIVE_TO_SELF;
    <span style="white-space:pre">			</span>CycleInterpolator interpolator = new CycleInterpolator(3.0f);
    <span style="white-space:pre">			</span>RotateAnimation animation = new RotateAnimation(0, 10, pivot, 0.47f, pivot, 0.05f);
    <span style="white-space:pre">			</span>animation.setStartOffset(500);
    <span style="white-space:pre">			</span>animation.setDuration(3000);
    <span style="white-space:pre">			</span>animation.setRepeatCount(1);// Animation.INFINITE
    <span style="white-space:pre">			</span>animation.setInterpolator(interpolator);
    <span style="white-space:pre">			</span>t4_icon1.startAnimation(animation);
    
    
    
    
    
    
    

  • 相关阅读:
    朴素贝叶斯分类-实战篇-如何进行文本分类
    朴素贝叶斯分类-理论篇-如何通过概率解决分类问题
    数据变换-归一化与标准化
    你还不懂傅里叶变换,那就过来掐死我吧
    Python快速入门 ---- 系列文章
    批处理中的时间计算详解
    使用electron+vue开发一个跨平台todolist(便签)桌面应用
    文科妹子都会用 GitHub,你这个工科生还等什么
    如约而至,.NET 5.0 正式发布
    如何进行正确的沟通?
  • 原文地址:https://www.cnblogs.com/zfyouxi/p/5040734.html
Copyright © 2011-2022 走看看