Android View動畫(一) --- scale

來源:互聯網
上載者:User

標籤:不可   根據   像素   效果   加速   屬性   寬度   執行   倒序   

在我們做apk開發的過程中,如果要吸引使用者,就需要要做出來一個非常炫的介面,當然動畫是必不可少的,接下來就記錄和學習動畫相關……

接下來就把平時的一些東西,慢慢的上傳上來,做一下記錄和儲存

 

今天要講解的第一個是view動畫中的ScaleAnimation(縮放動畫)

  • scaleanimation
它可以使View具有放大和縮小的效果,對應的類是ScaleAnimation,繼承自Animation
  • 屬性

<scale>標籤標示縮放動畫,對應的是ScaleAnimation,

它具有一系列的屬性

 1 <?xml version="1.0" encoding="utf-8"?> 2  3 <scale xmlns:android="http://schemas.android.com/apk/res/android" 4  5 android:fromXScale="0.0" #起始x尺寸比例 6  7 android:toXScale="1.4" #最終x尺寸比例 8  9 android:fromYScale="0.0" #起始y尺寸比例10 11 android:toYScale="1.4" #最終y尺寸比例12 13 android:pivotX="50%" #縮放起點x軸座標,取值可以是數值(50)、百分數(50%)、百 分數p(50%p),當取值為數值時,縮放起點為View左上方座標 加具體數值像素,當取值為百分數時,表示在當前View左上方坐 加上View寬度的具體百分比,當取值為百分數p時,表示在View 左上方座標加上父控制項寬度的具體百分比14 15 android:pivotY="50%" #同上16 17 android:duration="700" #動畫期間,毫秒為單位18 19 android:fillAfter="true" #動畫結束後,保持結束時的狀態20 21 android:fillBefore="true" #動畫結束後,恢複為初始狀態22 23 android:fillEnabled="true" #效果同上24 25 android:repeatCount="5" #重複次數,取值為-1時無限重複,預設動畫執行一次26 27 android:repeatMode ="reverse" #重複模式,有reverse和restart兩個值,前者為倒序回放,後者為重新開始28 29 android::interpolator="@android:anim/accelerate_decelerate_interpolator" #插值器 影響的是動畫的速度 這個屬性可以不指定,預設的是加速減速差值器 />

 

  • 縮放動畫的使用

分為兩種:xml方式的使用、代碼中的使用

  1. xml使用的方式:

第一步:首先在res目錄下面建立一個anim的檔案夾,在裡面建立一個xml的檔案,如

 

 第二步:根據需要添加相應的屬性

 1 <?xml version="1.0" encoding="utf-8"?> 2 <scale xmlns:android="http://schemas.android.com/apk/res/android" 3     android:fromXScale="0.0" 4     android:toXScale="1.4" 5     android:fromYScale="0.0" 6     android:toYScale="1.4" 7     android:pivotX="0" 8     android:pivotY="50%" 9     android:duration="1000"10     android:repeatCount="4"11     android:repeatMode="reverse"12     android:interpolator="@android:anim/accelerate_decelerate_interpolator"13     />

第三步,在代碼使用xml

1 tv = findViewById(R.id.tv);2 Animation animation = AnimationUtils.loadAnimation(this,R.anim.scalefile);3 tv.startAnimation(animation);

 

直接在代碼中使用scaleAnimation類去使用縮放動畫:

1 ScaleAnimation scaleAnimation = new ScaleAnimation(1,1.4f,1,1.4f,0.5f,0.5f);2 scaleAnimation.setDuration(1000);3 scaleAnimation.setRepeatCount(4);4 scaleAnimation.setRepeatMode(Animation.REVERSE);5 tv.startAnimation(scaleAnimation);

 

  • 總結

關於scaleAnimation就先降到這裡,需要源碼的可以下載https://github.com/yangmtou/AnimationForAndroid

Android View動畫(一) --- scale

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.