android-animation 動畫效果實現(xml形式實現)

來源:互聯網
上載者:User

標籤:

1.定義xml動畫

1)在anim檔案夾下定義xml檔案

解釋:這個檔案夾下面的檔案會被預設為動畫檔案,如果這個檔案不存在,需要自己建立

display_result_anim.xml

<?xml version="1.0" encoding="utf-8"?><set xmlns:android="http://schemas.android.com/apk/res/android" >
 <!--縮放動畫-->
 <scale android:duration="300" android:fromXScale="2.0" android:fromYScale="2.0" android:interpolator="@android:anim/accelerate_decelerate_interpolator" android:pivotX="50%" android:pivotY="50%" android:toXScale="1.0" android:toYScale="1.0" />
 <!--位置移動動畫-->
 <translate android:duration="300" android:fromYDelta="154.5%" android:toYDelta="0" android:fromXDelta="-49.5%" android:toXDelta="0" > </translate>
 <!--透明度動畫-->
 <alpha android:fromAlpha="1" android:toAlpha="0.5" android:duration="300" /></set>

display_input_anim.xml

<?xml version="1.0" encoding="utf-8"?><set xmlns:android="http://schemas.android.com/apk/res/android" >    <translate        android:duration="300"        android:fromXDelta="0"        android:fromYDelta="44.1%"        android:toXDelta="0"        android:toYDelta="0" />    <alpha        android:fromAlpha="0"        android:toAlpha="1"        android:duration="300" /></set>

2.代碼中引用

import android.view.animation.Animation;import android.view.animation.AnimationUtils;import android.view.animation.TranslateAnimation; private Animation myAnimationInput; private Animation myAnimationResult; myAnimationInput = AnimationUtils.loadAnimation(context, R.anim.display_input_anim); myAnimationResult = AnimationUtils.loadAnimation(context,R.anim.display_result_anim); myAnimationInput.setFillAfter(true); myAnimationResult.setFillAfter(true);EditText current = (EditText) getCurrentView();current.startAnimation(myAnimationInput);next.startAnimation(myAnimationResult);

知識點總結:

1.android:fromYDelta="44.1%" 它的屬性值有三種形式

(1)如果直接寫33,表示的是距離這個動畫擁有者(edittext)的值為33px,根據+ -決定是在擁有者上還是下 ;如果是寫成33%,這個就是表示的,相對於動畫擁有者自身尺寸的33%的距離,這個尺寸是動畫擁有者最開始設定的尺寸,也就是不加動畫的時候的尺寸;如果寫成是33%p,那麼就是相對於父容器的尺寸了

(2)如果是強制寫成33dp的話,會報錯,說明不支援這麼方式

(3)如果是引用@dimen的話,你會發現引用值的結果是0,也就是沒有動畫效果,雖然它並不會報錯

2.各個動畫的效果

三種如上,最後一種是

旋轉動畫

<rotage     android:fromDegrees="0"     android:toDegrees="-360"     android:pivotX="50%"     android:pivotY="50%"    android:duration="3000"   />

屬性就是角度值,正負表示順逆時針

android-animation 動畫效果實現(xml形式實現)

聯繫我們

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