国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統(tǒng) > Android > 正文

Android旋轉、平移、縮放和透明度漸變的補間動畫

2019-12-12 00:59:09
字體:
來源:轉載
供稿:網友

android實現(xiàn)旋轉、平移、縮放和透明度漸變的補間動畫,具體實現(xiàn)如下:

1.在新建項目的res目錄中,創(chuàng)建一個名為anim的目錄,并在該目錄中創(chuàng)建實現(xiàn)旋轉、平移、縮放和透明度漸變的動畫資源文件。

透明度漸變的動畫資源文件anim_alpha.xml(完全不透明->完全透明->完全不透明)

<?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android">  <alpha android:fromAlpha="1"  android:toAlpha="0"  android:fillAfter="true"  android:repeatMode="reverse"  android:repeatCount="1"  android:duration="2000"/> </set> 

旋轉的動畫資源文件anim_rotate.xml(0度->720度->360度->0度)

<?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android">  <rotate  android:interpolator="@android:anim/accelerate_interpolator"  android:fromDegrees="0"  android:toDegrees="720"  android:pivotX="50%"  android:pivotY="50%"  android:duration="2000"/>  <rotate  android:interpolator="@android:anim/accelerate_interpolator"  android:startOffset="2000"  android:fromDegrees="360"  android:toDegrees="0"  android:pivotX="50%"  android:pivotY="50%"  android:duration="2000"/> </set> 

縮放動畫資源文件anim_scale.xml(放大2倍->收縮回來)

<?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android">  <scale android:fromXScale="1"  android:interpolator="@android:anim/decelerate_interpolator"  android:fromYScale="1"  android:toXScale="2.0"  android:toYScale="2.0"  android:pivotX="50%"  android:pivotY="50%"  android:fillAfter="true"  android:repeatCount="1"  android:repeatMode="reverse"  android:duration="2000"/>  </set> 

平移動畫資源文件anim_translate.xml(屏幕左側->屏幕右側->屏幕左側)

<?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android">  <translate  android:fromXDelta="0"  android:toXDelta="860"  android:fromYDelta="0"  android:toYDelta="0"  android:fillAfter="true"  android:repeatMode="reverse"  android:repeatCount="1"  android:duration="2000"/> </set> 

主界面資源文件:

res/layout/main.xml:[html] view plain copy<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  xmlns:tools="http://schemas.android.com/tools"  android:layout_width="fill_parent"  android:layout_height="fill_parent"  android:id="@+id/linearLayout1"  android:orientation="vertical"  >  <LinearLayout  android:layout_width="fill_parent"  android:layout_height="wrap_content"  android:id="@+id/linearLayout2"  android:orientation="horizontal">  <Button android:layout_width="wrap_content"  android:layout_height="wrap_content"  android:id="@+id/button1"  android:text="旋轉"/>  <Button android:layout_width="wrap_content"  android:layout_height="wrap_content"  android:id="@+id/button2"  android:text="平移"/>  <Button android:layout_width="wrap_content"  android:layout_height="wrap_content"  android:id="@+id/button3"  android:text="縮放"/>  <Button android:layout_width="wrap_content"  android:layout_height="wrap_content"  android:id="@+id/button4"  android:text="透明度變化"/>  </LinearLayout>  <ImageView android:layout_width="wrap_content"  android:layout_height="wrap_content"  android:id="@+id/imageView1"  android:src="@drawable/img1"/> </LinearLayout>

效果如圖

2.MainActivity:

在onCreat()方法中,首先獲取動畫資源文件中創(chuàng)建的動畫資源,然后獲取要應用動畫效果的ImageView,再獲取“旋轉”按鈕,并為該按鈕添加單擊事件監(jiān)聽器,在重寫onClik()方法中,播放動畫。具體代碼如下:

[java] view plain copypackage com.example.test;  import android.app.Activity; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.view.animation.Animation; import android.view.animation.AnimationUtils; import android.widget.Button; import android.widget.ImageView;  public class MainActivity extends Activity {   @Override  public void onCreate(Bundle savedInstanceState) {  super.onCreate(savedInstanceState);  setContentView(R.layout.main);   final Animation rotate=AnimationUtils.loadAnimation(this, R.anim.anim_rotate);//獲取旋轉動畫資源  final Animation translate=AnimationUtils.loadAnimation(this, R.anim.anim_translate);//獲取平移動畫資源  final Animation scale=AnimationUtils.loadAnimation(this, R.anim.anim_scale);//獲取縮放動畫資源  final Animation alpha=AnimationUtils.loadAnimation(this, R.anim.anim_alpha);//獲取透明度變化動畫資源  //獲取要應用動畫效果的ImageView  final ImageView iv=(ImageView)findViewById(R.id.imageView1);  Button button1=(Button)findViewById(R.id.button1);//獲取"旋轉"按鈕  button1.setOnClickListener(new OnClickListener() {   @Override  public void onClick(View arg0) {  //播放旋轉動畫  iv.startAnimation(rotate);   }  });   Button button2=(Button)findViewById(R.id.button2);//獲取"平移"按鈕  button2.setOnClickListener(new OnClickListener() {   @Override  public void onClick(View arg0) {  //播放平移動畫  iv.startAnimation(translate);   }  });   Button button3=(Button)findViewById(R.id.button3);//獲取"縮放"按鈕  button3.setOnClickListener(new OnClickListener() {   @Override  public void onClick(View arg0) {  //播放縮放動畫  iv.startAnimation(scale);   }  });   Button button4=(Button)findViewById(R.id.button4);//獲取"透明度漸變"按鈕  button4.setOnClickListener(new OnClickListener() {   @Override  public void onClick(View arg0) {  //播放透明度漸變動畫  iv.startAnimation(alpha);  }  });  } } 

效果如圖1、圖2、圖3、圖4:




以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對武林網的支持。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 南平市| 普格县| 太白县| 荆州市| 尼木县| 上蔡县| 水富县| 吴桥县| 珠海市| 普兰县| 武定县| 桂林市| 台江县| 侯马市| 宁安市| 沿河| 蒲城县| 诏安县| 凉山| 临西县| 夏邑县| 开阳县| 交口县| 嘉鱼县| 太白县| 五家渠市| 济阳县| 沂源县| 大渡口区| 自贡市| 罗源县| 包头市| 剑阁县| 壶关县| 布尔津县| 沙湾县| 巴林右旗| 靖江市| 安义县| 临桂县| 吉安市|