最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Android動畫之補間動畫(Tween Animation)基礎(chǔ)學(xué)習(xí)

 更新時間:2016年09月27日 10:04:29   作者:思格斯  
補間動畫是指定開始和結(jié)束的圖像狀態(tài),自動生成需要顯示的過度圖像的動畫。補間動畫又分為四種:移動,縮放,旋轉(zhuǎn),通明度等。下面就來給大家一篇關(guān)于Android中補間動畫的基礎(chǔ)知識,有需要的可以參考學(xué)習(xí)。

前言

之前說過了在Android中,動畫Animation的實現(xiàn)有兩種方式:Tween Animation(漸變動畫)和Frame Animation(幀動畫)。漸變動畫是通過對場景里的對象不斷做圖像變換(平移、縮放、旋轉(zhuǎn)等)產(chǎn)生動畫效果。幀動畫則是通過順序播放事先準(zhǔn)備好的圖像來產(chǎn)生動畫效果,和電影類似。

小編也和大家分享了逐幀動畫的基礎(chǔ)知識,下面我們就來學(xué)習(xí)下Android中逐幀動畫的基礎(chǔ)知識。

原理 : 給出開始和結(jié)束兩個關(guān)鍵幀,兩個關(guān)鍵幀之間的插補幀是由計算機自動運算而得到的。

分類 : AlphaAnimation(透明度) ScaleAnimation(縮放) TranslateAnimation(位移) RotateAnimation (旋轉(zhuǎn)) AnimationSet(組合)

方式 :

1.在代碼中new

2.在anim文件夾下定義動畫xml資源

效果

代碼

第一步 :準(zhǔn)備動畫資源

目錄

<?xml version="1.0" encoding="utf-8"?>
<alpha xmlns:android="http://schemas.android.com/apk/res/android"
 android:duration="2000"
 android:fromAlpha="1.0"
 android:interpolator="@android:anim/linear_interpolator"
 android:toAlpha="0.3">

</alpha>
<?xml version="1.0" encoding="utf-8"?>
<rotate xmlns:android="http://schemas.android.com/apk/res/android"
 android:interpolator="@android:interpolator/linear"
 android:repeatCount="infinite"
 android:repeatMode="reverse"
 android:duration="2000"
 android:fromDegrees="0"
 android:toDegrees="1080">
 android:pivotX="50%"
 android:pivotY="50%"
</rotate>
<?xml version="1.0" encoding="utf-8"?>
<scale xmlns:android="http://schemas.android.com/apk/res/android"
 android:interpolator="@android:anim/linear_interpolator"
 android:duration="2000"
 android:fillAfter="true"
 android:fromXScale="1.0"
 android:fromYScale="1.0"
 android:pivotX="50%"
 android:pivotY="50%"
 android:toXScale="0.3"
 android:toYScale="0.3">

</scale>
<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
  android:interpolator="@android:anim/linear_interpolator"
  android:duration="2000"
  android:fromXDelta="10"
  android:fromYDelta="10"
  android:toXDelta="300"
  android:toYDelta="300">

</translate>
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
 android:interpolator="@android:anim/linear_interpolator"
 android:duration="2000">

 <alpha android:fromAlpha="0.3"
  android:toAlpha="1.0"/>

 <rotate android:fromDegrees="0"
  android:toDegrees="360"
  android:pivotX="0"
  android:pivotY="0"
  android:repeatMode="restart"
  android:repeatCount="infinite"/>
</set>

第二步 :activity_main.xml ( 略 )

第三步 :MainActivity.java

package com.lyp.anim;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
import android.widget.Button;
import android.widget.ImageView;

public class MainActivity extends AppCompatActivity implements View.OnClickListener{
 private Button btnScale;
 private Button btnRotate;
 private Button btnTranslate;
 private Button btnAlpha;
 private Button btnAll;

 private ImageView mImage;

 @Override
 protected void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);
 setContentView(R.layout.activity_main);

 initView();
 }

 private void initView() {
 btnScale= (Button) findViewById(R.id.btn_scale);
 btnRotate= (Button) findViewById(R.id.btn_rotate);
 btnTranslate= (Button) findViewById(R.id.btn_translate);
 btnAlpha= (Button) findViewById(R.id.btn_alpha);
 btnAll= (Button) findViewById(R.id.btn_all);

 mImage= (ImageView) findViewById(R.id.image);

 btnScale.setOnClickListener(this);
 btnRotate.setOnClickListener(this);
 btnTranslate.setOnClickListener(this);
 btnAlpha.setOnClickListener(this);
 btnAll.setOnClickListener(this);
 }

 @Override
 public void onClick(View v) {
 switch (v.getId()){
  case R.id.btn_scale:
  //加載縮放動畫
  Animation scale = AnimationUtils.loadAnimation(this, R.anim.scale);
  scale.setFillAfter(true); //保留動畫結(jié)束狀態(tài),在xml文件中設(shè)置無效!!
  mImage.startAnimation(scale);
  break;
  case R.id.btn_rotate:
  //加載旋轉(zhuǎn)動畫
  Animation rotate = AnimationUtils.loadAnimation(this, R.anim.rotate);
  mImage.startAnimation(rotate);
  break;
  case R.id.btn_translate:
  //加載位移動畫
  Animation translate = AnimationUtils.loadAnimation(this, R.anim.translate);
  mImage.startAnimation(translate);
  break;
  case R.id.btn_alpha:
  //加載透明度漸變動畫
  Animation alpha = AnimationUtils.loadAnimation(this, R.anim.alpha);
  mImage.startAnimation(alpha);
  break;
  case R.id.btn_all:
  //加載組合動畫
  Animation all = AnimationUtils.loadAnimation(this, R.anim.all);
  mImage.startAnimation(all);
  break;
 }
 }
}

總結(jié)

以上Android中補間動畫(Tween Animation)基礎(chǔ)的全部內(nèi)容了,動畫Animation實現(xiàn)的兩種方式小編現(xiàn)在已經(jīng)都給大家分享了,希望能對各位Android開發(fā)者們有所幫助,如果有疑問大家可以留言交流。

相關(guān)文章

  • Android構(gòu)建Material Design應(yīng)用詳解

    Android構(gòu)建Material Design應(yīng)用詳解

    這篇文章主要為大家詳細(xì)介紹了Android構(gòu)建Material Design應(yīng)用,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-10-10
  • Android仿簡書長按文章生成圖片效果

    Android仿簡書長按文章生成圖片效果

    使用簡書APP的同學(xué)都知道,簡書有這樣一個功能;文章頁長按內(nèi)容時底部會出現(xiàn)一個 生成圖片分享 的按鈕,點擊之后就可以將當(dāng)前的文章生成一張長圖片;這張圖片可以保存到本地或分享給好友,同時還可為圖片設(shè)置成為白和黑兩種風(fēng)格,很有藝術(shù)范
    2017-03-03
  • Flutter?點擊兩次退出app的實現(xiàn)示例

    Flutter?點擊兩次退出app的實現(xiàn)示例

    本文主要介紹了Flutter?點擊兩次退出app的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-05-05
  • Android面向切面基于AOP實現(xiàn)登錄攔截的場景示例

    Android面向切面基于AOP實現(xiàn)登錄攔截的場景示例

    這篇文章主要為大家介紹了Android面向切面基于AOP實現(xiàn)登錄攔截的場景示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-08-08
  • 詳解Android之解析XML文件三種方式(DOM,PULL,SAX)

    詳解Android之解析XML文件三種方式(DOM,PULL,SAX)

    這篇文章主要介紹了詳解Android之解析XML文件三種方式,主要包括DOM,PULL,SAX,有興趣的可以了解一下。
    2017-02-02
  • android Socket實現(xiàn)簡單聊天功能以及文件傳輸

    android Socket實現(xiàn)簡單聊天功能以及文件傳輸

    這篇文章主要介紹了android Socket實現(xiàn)簡單聊天功能以及文件傳輸,非常具有實用價值,有需要的朋友可以參考下。
    2017-02-02
  • Android自定義相機界面的實現(xiàn)代碼

    Android自定義相機界面的實現(xiàn)代碼

    這篇文章主要為大家詳細(xì)介紹了Android自定義相機界面的實現(xiàn)代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-11-11
  • Android繼承ViewGroup實現(xiàn)Scroll滑動效果的方法示例

    Android繼承ViewGroup實現(xiàn)Scroll滑動效果的方法示例

    這篇文章主要介紹了Android繼承ViewGroup實現(xiàn)Scroll滑動效果的方法,結(jié)合實例形式分析了Android滑動效果的原理及擴展ViewGroup實現(xiàn)滑動功能的相關(guān)操作技巧,需要的朋友可以參考下
    2017-08-08
  • android開發(fā)教程之開機啟動服務(wù)service示例

    android開發(fā)教程之開機啟動服務(wù)service示例

    如果開機啟動一個Activity,開機首先看的界面,是你的程序界面,如果為了,開機后也啟動你的程序,但是不顯示自己程序的界面,就要用Service服務(wù),下面是開機啟動服務(wù)service示例
    2014-03-03
  • Android底部彈窗的實現(xiàn)示例代碼

    Android底部彈窗的實現(xiàn)示例代碼

    本篇文章主要介紹了Android底部彈窗的實現(xiàn)示例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-09-09

最新評論

金阳县| 巩留县| 辉南县| 绍兴市| 综艺| 荆州市| 岳阳县| 时尚| 巴彦淖尔市| 泰顺县| 江安县| 阿合奇县| 集安市| 兖州市| 石家庄市| 额尔古纳市| 昂仁县| 武邑县| 潼关县| 安仁县| 河津市| 崇礼县| 德格县| 海阳市| 铁岭县| 双流县| 林口县| 芷江| 怀远县| 吕梁市| 涟源市| 嫩江县| 九龙县| 清苑县| 大田县| 威信县| 定南县| 黎平县| 汉川市| 凤城市| 昆山市|