Android---06---2中動畫效果

來源:互聯網
上載者:User

標籤:android   class   blog   code   java   http   

1,先看FrameAnimation,此動畫是用來實現動態動畫就是把一幀幀圖片迭代起來

放在drowable中的xml:

<?xml version="1.0" encoding="utf-8"?><animation-list xmlns:android="http://schemas.android.com/apk/res/android" >    <item android:drawable="@drawable/ben_window_0001"            android:duration="60"         />             <item android:drawable="@drawable/ben_window_0002"            android:duration="60"         />    <item android:drawable="@drawable/ben_window_0003"            android:duration="60"         />    <item android:drawable="@drawable/ben_window_0004"            android:duration="60"         />    <item android:drawable="@drawable/ben_window_0005"            android:duration="60"         />    <item android:drawable="@drawable/ben_window_0006"            android:duration="60"         />    <item android:drawable="@drawable/ben_window_0007"            android:duration="60"         />    <item android:drawable="@drawable/ben_window_0008"            android:duration="60"         />    <item android:drawable="@drawable/ben_window_0009"            android:duration="60"         />    <item android:drawable="@drawable/ben_window_0010"            android:duration="60"         />    <item android:drawable="@drawable/ben_window_0011"            android:duration="60"         />    <item android:drawable="@drawable/ben_window_0012"            android:duration="60"         />    <item android:drawable="@drawable/ben_window_0013"            android:duration="60"         />    <item android:drawable="@drawable/ben_window_0014"            android:duration="60"         />    <item android:drawable="@drawable/ben_window_0015"            android:duration="60"         />    <item android:drawable="@drawable/ben_window_0016"            android:duration="60"         />    <item android:drawable="@drawable/ben_window_0017"            android:duration="60"         />    <item android:drawable="@drawable/ben_window_0018"            android:duration="60"         />    <item android:drawable="@drawable/ben_window_0019"            android:duration="60"         />    <item android:drawable="@drawable/ben_window_0020"            android:duration="60"         />    <item android:drawable="@drawable/ben_window_0021"            android:duration="60"         />    <item android:drawable="@drawable/ben_window_0022"            android:duration="60"         />    <item android:drawable="@drawable/ben_window_0023"            android:duration="60"         />    <item android:drawable="@drawable/ben_window_0024"            android:duration="60"         />    <item android:drawable="@drawable/ben_window_0025"            android:duration="60"         />    <item android:drawable="@drawable/ben_window_0026"            android:duration="60"         />    <item android:drawable="@drawable/ben_window_0027"            android:duration="60"         />    <item android:drawable="@drawable/ben_window_0028"            android:duration="60"         />        </animation-list>


Activity中:

package com.example.frameanimation;import android.app.Activity;import android.graphics.drawable.AnimationDrawable;import android.os.Bundle;import android.view.View;import android.widget.Button;public class MainActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);}public void startAnimation(View v){Button btn=(Button)v;//得到動畫對象AnimationDrawable anim=(AnimationDrawable)btn.getBackground();//啟動動畫anim.start();}}

這樣我點擊一個Tomcat就會迴圈的動



然後是補間動畫



先看這些xml檔案

<?xml version="1.0" encoding="utf-8"?><alpha    android:fromAlpha="0.1"    android:toAlpha="1"    android:duration="5000"                xmlns:android="http://schemas.android.com/apk/res/android">    <!--  透明度 0-1  0完全透明  1 完全不透明 --></alpha>


<?xml version="1.0" encoding="utf-8"?><rotate  android:fromDegrees="0"         android:toDegrees="360"         android:duration="500"         android:pivotX="50%"         android:pivotY="50%"                 android:interpolator="@android:anim/accelerate_interpolator"         android:repeatCount="infinite"                  android:repeatMode="reverse"     xmlns:android="http://schemas.android.com/apk/res/android">     <!-- repeatCount   重複次數    infinite 無限           repeatMode    重複模式          interpolator  加速器     --></rotate>


<?xml version="1.0" encoding="utf-8"?><scale  android:fromXScale="0.5"        android:fromYScale="0.5"                android:toXScale="2"        android:toYScale="2"                android:pivotX="50%"        android:pivotY="50%"        android:duration="200"        android:repeatMode="reverse"        android:repeatCount="infinite"     xmlns:android="http://schemas.android.com/apk/res/android">         </scale><!--     fromXScale   1  本身狀態 -->


<?xml version="1.0" encoding="utf-8"?><translate xmlns:android="http://schemas.android.com/apk/res/android"            android:fromXDelta="0"    android:fromYDelta="0"        android:toXDelta="0"    android:toYDelta="80%p"        android:duration="100"     android:repeatMode="reverse"        android:repeatCount="infinite"    >   </translate>


主檔案中的xml

無非就是一張圖片加上幾個按鈕

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:paddingBottom="@dimen/activity_vertical_margin"    android:paddingLeft="@dimen/activity_horizontal_margin"    android:paddingRight="@dimen/activity_horizontal_margin"    android:paddingTop="@dimen/activity_vertical_margin"    tools:context=".MainActivity" >  <ImageView      android:layout_width="wrap_content"      android:layout_height="wrap_content"      android:layout_alignParentTop="true"      android:layout_centerHorizontal="true"      android:layout_marginTop="84dp"      android:src="@drawable/heart"           android:id="@+id/myimg"      />  <Button      android:id="@+id/button3"      android:layout_width="wrap_content"      android:layout_height="wrap_content"      android:layout_alignBaseline="@+id/button2"      android:layout_alignBottom="@+id/button2"      android:layout_alignRight="@+id/myimg"      android:text="縮放"       android:onClick="scale"      />  <Button      android:id="@+id/button1"      android:layout_width="wrap_content"      android:layout_height="wrap_content"      android:layout_alignParentLeft="true"      android:layout_below="@+id/myimg"      android:layout_marginLeft="32dp"      android:onClick="alpha"      android:text="alpha" />  <Button      android:id="@+id/button2"      android:layout_width="wrap_content"      android:layout_height="wrap_content"      android:layout_alignBaseline="@+id/button1"      android:layout_alignBottom="@+id/button1"      android:layout_marginRight="35dp"      android:layout_toLeftOf="@+id/button3"      android:onClick="rotate"      android:text="旋轉" />  <Button      android:id="@+id/button4"      android:layout_width="wrap_content"      android:layout_height="wrap_content"      android:layout_alignLeft="@+id/button1"      android:layout_below="@+id/button1"      android:text="位移動畫"        android:onClick="translate"      /></RelativeLayout>


然後在Activity中調用這些動畫

package com.example.tweenanimation;import android.app.Activity;import android.os.Bundle;import android.view.View;import android.view.animation.Animation;import android.view.animation.AnimationUtils;import android.widget.ImageView;public class MainActivity extends Activity {private ImageView image;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);image = (ImageView) findViewById(R.id.myimg);}// 執行透明動畫public void alpha(View v) {// 1.載入動畫資源Animation anim = AnimationUtils.loadAnimation(MainActivity.this,R.anim.alpha);// 2.執行動畫       image.startAnimation(anim);}//執行旋轉動畫public void rotate(View v) {Animation anim = AnimationUtils.loadAnimation(MainActivity.this,R.anim.rotate);       image.startAnimation(anim);}//縮放動畫public void scale(View v) {Animation anim = AnimationUtils.loadAnimation(MainActivity.this,R.anim.scale);       image.startAnimation(anim);}public void translate(View v) {Animation anim = AnimationUtils.loadAnimation(MainActivity.this,R.anim.translate);       image.startAnimation(anim);}}


相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.