亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 系統 > Android > 正文

Android開發之圖形圖像與動畫(二)Animation實現圖像的漸變/縮放/位移/旋轉

2020-04-11 12:32:16
字體:
來源:轉載
供稿:網友
Android 平臺提供了兩類動畫。 一類是Tween動畫,就是對場景里的對象不斷的進行圖像變化來產生動畫效果(旋轉、平移、放縮和漸變)。
下面就講一下Tweene Animations。
主要類
Animation 動畫
AlphaAnimation 漸變透明度
RotateAnimation 畫面旋轉
ScaleAnimation 漸變尺寸縮放
TranslateAnimation 位置移動
AnimationSet 動畫集

一.AlphaAnimation
其中AlphaAnimation類第一個參數fromAlpha表示動畫起始時的透明度, 第二個參數toAlpha表示動畫結束時的透明度。
setDuration用來設置動畫持續時間。

二.RotateAnimation
其中RotateAnimation類第一個參數fromDegrees表示動畫起始時的角度, 第二個參數toDegrees表示動畫結束時的角度。

另外還可以設置伸縮模式pivotXType、pivotYType, 伸縮動畫相對于x,y 坐標的開始位置pivotXValue、pivotYValue等。

三.ScaleAnimation
ScaleAnimation類中
第一個參數fromX ,第二個參數toX:分別是動畫起始、結束時X坐標上的伸縮尺寸。
第三個參數fromY ,第四個參數toY:分別是動畫起始、結束時Y坐標上的伸縮尺寸。
另外還可以設置伸縮模式pivotXType、pivotYType, 伸縮動畫相對于x,y 坐標的開始位置pivotXValue、pivotYValue等。

四.TranslateAnimation
第一個參數fromXDelta ,第二個參數toXDelta:分別是動畫起始、結束時X坐標。
第三個參數fromYDelta ,第四個參數toYDelta:分別是動畫起始、結束時Y坐標。
下面我實現的這個例子是使得圖片有上述四個動畫效果,且其中第五實現的是兩個效果的重疊,具體的實現截圖如下
 
點擊各個按鈕會做出相應的反應。
本實例用到的布局文件如下:
復制代碼 代碼如下:

<?xml version="1.0" encoding="utf-8"?>
<AbsoluteLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android">
<Button
android:id="@+id/button_scale"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="scale"
android:layout_x="5dp"
android:layout_y="383dp" />
<Button
android:id="@+id/button_rotate"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="rotate"
android:layout_x="158dp"
android:layout_y="383dp" />
<Button
android:id="@+id/button_alpha"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="alpha"
android:layout_x="5dp"
android:layout_y="331dp" />
<Button
android:id="@+id/button_translate"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="translate"
android:layout_x="160dp"
android:layout_y="329dp" />
<Button
android:id="@+id/button_alpha_translate"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="alpha_translate"
android:layout_x="84dp"
android:layout_y="265dp" />
<ImageView
android:id="@+id/imageview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_x="105dp"
android:layout_y="133dp"
android:src="@drawable/ic_launcher"
/>
</AbsoluteLayout>

實現本實例的源代碼如下:
復制代碼 代碼如下:

public class Animations_Activity extends Activity {
private Button button1;
private Button button2;
private Button button3;
private Button button4;
private Button button5;
private ImageView imageView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_animations_);
button1=(Button)findViewById(R.id.button_alpha);
button2=(Button)findViewById(R.id.button_rotate);
button3=(Button)findViewById(R.id.button_scale);
button4=(Button)findViewById(R.id.button_translate);
button5=(Button)findViewById(R.id.button_alpha_translate);
imageView=(ImageView)findViewById(R.id.imageview);
button1.setOnClickListener(new MyButton());
button2.setOnClickListener(new MyButton());
button3.setOnClickListener(new MyButton());
button4.setOnClickListener(new MyButton());
button5.setOnClickListener(new MyButton());
}
class MyButton implements OnClickListener{
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
switch (arg0.getId()) {
case R.id.button_alpha:
Alpha();
break;
case R.id.button_rotate:
Rotata();
break;
case R.id.button_scale:
Scale();
break;
case R.id.button_translate:
Translate();
break;
case R.id.button_alpha_translate:
Alpha_Translate();
break;
default:
break;
}
}

}

/*
* 1.創建一個AnimationSet對象,該對象存儲的是動畫的集合
* 2.根據需要創建相應的Animation對象
* 3.根據動畫的需求,為Animation對象設置相應的數據(即執行效果)
* 4.獎Animation對象添加到AnimationSet對象當中
* 5.使用控件對象開始執行AnimationSet
*/
public void Alpha() {
AnimationSet animationSet=new AnimationSet(true);
AlphaAnimation alphaAnimation=new AlphaAnimation(1, 0);
alphaAnimation.setDuration(2000);
animationSet.addAnimation(alphaAnimation);
imageView.startAnimation(animationSet);
}
public void Rotata(){
AnimationSet animationSet=new AnimationSet(true);
//后面的四個參數定義的是旋轉的圓心位置
RotateAnimation rotateAnimation=new RotateAnimation(
0, 360,
Animation.RELATIVE_TO_PARENT, 1f,
Animation.RELATIVE_TO_PARENT, 0f);
rotateAnimation.setDuration(2000);
animationSet.addAnimation(rotateAnimation);
imageView.startAnimation(animationSet);
}
public void Scale() {
AnimationSet animationSet=new AnimationSet(true);
ScaleAnimation scaleAnimation=new ScaleAnimation(
1, 0.1f, 1, 0.1f,
Animation.RELATIVE_TO_SELF, 0.5f,
Animation.RELATIVE_TO_SELF, 0.5f);
scaleAnimation.setDuration(2000);
animationSet.addAnimation(scaleAnimation);
imageView.startAnimation(scaleAnimation);
}
public void Translate() {
AnimationSet animationSet=new AnimationSet(true);
TranslateAnimation translateAnimation=new TranslateAnimation(
Animation.RELATIVE_TO_SELF, 0f, //X軸的開始位置
Animation.RELATIVE_TO_SELF, 0.5f, //X軸的結束位置
Animation.RELATIVE_TO_SELF, 0f, //Y軸的開始位置
Animation.RELATIVE_TO_SELF, 1.0f); //Y軸的結束位置
translateAnimation.setDuration(2000);
animationSet.addAnimation(translateAnimation);

/*
* 第一行的設置如果為true,則動畫執行完之后效果定格在執行完之后的狀態
* 第二行的設置如果為false,則動畫執行完之后效果定格在執行完之后的狀態
* 第三行設置的是一個long類型的值,是指動畫延遲多少毫秒之后執行
* 第四行定義的是動畫重復幾次執行
*/
animationSet.setFillAfter(true);
animationSet.setFillBefore(false);
animationSet.setStartOffset(2000);
animationSet.setRepeatCount(3);

imageView.startAnimation(animationSet);
}
public void Alpha_Translate() {
AnimationSet animationSet=new AnimationSet(true);
AlphaAnimation alphaAnimation=new AlphaAnimation(1, 0);
alphaAnimation.setDuration(2000);
animationSet.addAnimation(alphaAnimation);
TranslateAnimation translateAnimation=new TranslateAnimation(
Animation.RELATIVE_TO_SELF, 0f, //X軸的開始位置
Animation.RELATIVE_TO_SELF, 0.5f, //X軸的結束位置
Animation.RELATIVE_TO_SELF, 0f, //Y軸的開始位置
Animation.RELATIVE_TO_SELF, 1.0f); //Y軸的結束位置
translateAnimation.setDuration(2000);
animationSet.addAnimation(translateAnimation);
imageView.startAnimation(animationSet);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.activity_animations_, menu);
return true;
}
}
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲第一免费网站| 欧美裸体xxxx极品少妇软件| 久久成人国产精品| 午夜精品久久久久久久99热浪潮| 亚洲欧美国产日韩中文字幕| 黑人极品videos精品欧美裸| 国产成人一区二区三区电影| 国产午夜一区二区| 精品久久久久久电影| 精品国产精品三级精品av网址| 国产免费一区视频观看免费| 欧美极品美女视频网站在线观看免费| 日本最新高清不卡中文字幕| 亚洲色图av在线| 中文字幕亚洲欧美日韩2019| 欧美激情视频免费观看| 黄网站色欧美视频| 9.1国产丝袜在线观看| 欧美福利视频在线观看| 国产精品久久久久影院日本| 2019中文字幕全在线观看| 91在线无精精品一区二区| 91亚洲va在线va天堂va国| 亚洲免费电影在线观看| 国产精品444| 久久国产色av| 国产专区精品视频| 亚洲自拍欧美另类| 成人在线中文字幕| 精品自在线视频| 日韩av成人在线观看| 亚洲欧美自拍一区| 久久久人成影片一区二区三区| 亚洲精品国精品久久99热一| 国产91免费观看| 欧美日韩免费在线| 亚洲xxxx在线| 欧美专区在线播放| 亚洲男人天堂古典| 欧美一级电影在线| 亚洲国产成人精品久久久国产成人一区| 91精品国产乱码久久久久久久久| 欧美日韩在线免费观看| 日韩国产在线播放| 77777少妇光屁股久久一区| 精品久久久久久久久久国产| 国产99久久久欧美黑人| 中文字幕成人精品久久不卡| 欧美日本高清一区| 亚洲全黄一级网站| 欧美男插女视频| 久久久999精品免费| 国产精品一区二区三区成人| 亚洲精品久久久久国产| 国产精品亚洲网站| 国产精品盗摄久久久| 国产a级全部精品| 欧美日韩色婷婷| 欧美大奶子在线| 欧美激情一级二级| 国产成人精品最新| 亚洲国产精品va在看黑人| 国产69精品久久久久9| 久久久久这里只有精品| 亚洲精品自在久久| 日av在线播放中文不卡| 国产精品久久久久久中文字| 欧美国产日韩一区二区三区| 久久精品国产91精品亚洲| 欧美色道久久88综合亚洲精品| 在线播放日韩精品| 中文字幕日韩精品在线| 成人黄色生活片| 欧美性感美女h网站在线观看免费| 欧美日韩国产在线播放| 日韩电影大全免费观看2023年上| 91免费在线视频| xxx成人少妇69| 伊人精品在线观看| 亚洲综合中文字幕在线| 日本精品一区二区三区在线播放视频| 国产精品美乳一区二区免费| 欧美肥婆姓交大片| 最近2019中文字幕mv免费看| 性欧美激情精品| 欧美成人免费视频| 91国产精品电影| 亚洲美女中文字幕| 81精品国产乱码久久久久久| 日韩黄色高清视频| 欧美激情第99页| 日韩欧美精品免费在线| 最近2019年手机中文字幕| 夜夜嗨av色一区二区不卡| 欧美亚洲激情视频| 亚洲国产欧美一区二区三区同亚洲| 日韩成人在线视频观看| 91免费看国产| 国产精品露脸自拍| 欧美成人精品在线| 欧美专区在线观看| 欧美电影免费观看高清| 欧美日韩中国免费专区在线看| 精品成人国产在线观看男人呻吟| 成人黄色短视频在线观看| 97久久精品视频| 国模吧一区二区| 色青青草原桃花久久综合| 国产精品久久久久久久午夜| 国产精品丝袜一区二区三区| 国产激情久久久久| 欧美www在线| 亚洲一品av免费观看| 午夜精品一区二区三区视频免费看| 2023亚洲男人天堂| 久久久人成影片一区二区三区观看| 91精品综合视频| 日韩成人网免费视频| 国产精品无av码在线观看| 亚洲欧美日韩在线高清直播| 国产精品一区二区女厕厕| 在线观看欧美www| 日韩在线观看电影| 精品久久久久久亚洲精品| 日韩电影视频免费| 日韩中文字幕在线播放| 精品视频中文字幕| 亚洲福利在线看| 久久69精品久久久久久国产越南| 久久天天躁狠狠躁夜夜躁2014| 日韩精品在线影院| www亚洲欧美| 亚洲成年人在线播放| 97国产精品人人爽人人做| 欧洲日本亚洲国产区| 国产精品福利片| 亚洲视频axxx| 97在线精品国自产拍中文| 亚洲国产精品va| 日韩最新中文字幕电影免费看| 26uuu另类亚洲欧美日本一| 日韩精品免费一线在线观看| 亚洲国产中文字幕在线观看| 91精品国产高清久久久久久久久| 在线中文字幕日韩| 成人美女av在线直播| 亚洲图片欧洲图片av| 国产精品亚洲美女av网站| 亚洲情综合五月天| 欧美激情第99页| 97在线看免费观看视频在线观看| 亚洲精品乱码久久久久久金桔影视| 国产精品日日做人人爱| 欧美最近摘花xxxx摘花| 日韩精品电影网| 日韩不卡在线观看| 国产精品va在线| 蜜月aⅴ免费一区二区三区| 91av在线视频观看| 久久成人人人人精品欧| 欧美人交a欧美精品| 久久精品中文字幕电影| 国产精品久在线观看| 欧美成人精品一区|