Android Animation之TranslateAnimation(平移動(dòng)畫(huà))
TranslateAnimation(平移動(dòng)畫(huà))的意思無(wú)非就是一張圖片或其他從一個(gè)位置到達(dá)另外一個(gè)位置。直接代碼分析,相關(guān)重要屬性參數(shù)解釋都在代碼中。
1、首先編寫(xiě)main.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:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity"> <ImageView android:id="@+id/image" android:text="@string/hello_world" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/car_one1"/> </RelativeLayout>
2、接下來(lái)編寫(xiě)MainActivity.java文件。
package com.example.dell.bitmapproject; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.view.animation.Animation; import android.view.animation.AnimationSet; import android.view.animation.TranslateAnimation; import android.widget.ImageView; public class MainActivity extends AppCompatActivity { private ImageView image; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); image =(ImageView)findViewById(R.id.image); image.setOnClickListener(new OnClickListenerImpl()); } private class OnClickListenerImpl implements View.OnClickListener { @Override public void onClick(View v) { /* AnimationSet相當(dāng)于一個(gè)動(dòng)畫(huà)的集合,true表示使用Animation的interpolator false則是使用自己的。 Interpolator 被用來(lái)修飾動(dòng)畫(huà)效果,定義動(dòng)畫(huà)的變化率,可以使存在的動(dòng)畫(huà)效果 accelerated(加速),decelerated(減速),repeated(重復(fù)),bounced(彈跳)等。 */ AnimationSet animationSet = new AnimationSet(true); /* Animation還有幾個(gè)方法 setFillAfter(boolean fillAfter) 如果fillAfter的值為真的話(huà),動(dòng)畫(huà)結(jié)束后,控件停留在執(zhí)行后的狀態(tài) setFillBefore(boolean fillBefore) 如果fillBefore的值為真的話(huà),動(dòng)畫(huà)結(jié)束后,控件停留在動(dòng)畫(huà)開(kāi)始的狀態(tài) setStartOffset(long startOffset) 設(shè)置動(dòng)畫(huà)控件執(zhí)行動(dòng)畫(huà)之前等待的時(shí)間 setRepeatCount(int repeatCount) 設(shè)置動(dòng)畫(huà)重復(fù)執(zhí)行的次數(shù) */ TranslateAnimation translateAnimation = new TranslateAnimation( //X軸初始位置 Animation.RELATIVE_TO_SELF, 0.0f, //X軸移動(dòng)的結(jié)束位置 Animation.RELATIVE_TO_SELF,0.5f, //y軸開(kāi)始位置 Animation.RELATIVE_TO_SELF,0.0f, //y軸移動(dòng)后的結(jié)束位置 Animation.RELATIVE_TO_SELF,1.5f); //3秒完成動(dòng)畫(huà) translateAnimation.setDuration(2000); //如果fillAfter的值為真的話(huà),動(dòng)畫(huà)結(jié)束后,控件停留在執(zhí)行后的狀態(tài) animationSet.setFillAfter(true); //將AlphaAnimation這個(gè)已經(jīng)設(shè)置好的動(dòng)畫(huà)添加到 AnimationSet中 animationSet.addAnimation(translateAnimation); //啟動(dòng)動(dòng)畫(huà) MainActivity.this.image.startAnimation(animationSet); } } }
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Android對(duì)EditTex的圖片實(shí)現(xiàn)監(jiān)聽(tīng)
這篇文章主要為大家詳細(xì)介紹了Android如何對(duì)EditTex的圖片實(shí)現(xiàn)監(jiān)聽(tīng),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-10-10Android實(shí)現(xiàn)簡(jiǎn)單計(jì)算器界面
這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)簡(jiǎn)單計(jì)算器界面,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-01-01Android客戶(hù)端實(shí)現(xiàn)圖片輪播控件
這篇文章主要為大家詳細(xì)介紹了Android客戶(hù)端實(shí)現(xiàn)圖片輪播控件,并且和大家一起制作圖片輪播控件,分享給大家,感興趣的朋友可以參考一下2016-04-04Android開(kāi)發(fā)筆記之Intent初級(jí)學(xué)習(xí)教程
這篇文章主要介紹了Android開(kāi)發(fā)筆記之Intent初級(jí)學(xué)習(xí),較為詳細(xì)的分析了Android Intent項(xiàng)目的建立,功能實(shí)現(xiàn)及Intent使用技巧,需要的朋友可以參考下2016-02-02Android實(shí)現(xiàn)平滑翻動(dòng)效果
這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)平滑翻動(dòng)效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-04-04Android中利用C++處理Bitmap對(duì)象的實(shí)現(xiàn)方法
下面小編就為大家?guī)?lái)一篇Android中利用C++處理Bitmap對(duì)象的實(shí)現(xiàn)方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-03-03