編輯:關於Android編程
本文主要介紹Android中的Animation動畫。
Android提供了2中動畫:Tween動畫和Frame動畫。
本文中主要講解Tween動畫,下篇文章中會講到Frame動畫。
Tween動畫:
通過對View的內容進行一系列的圖形變換(包括平移,縮放,旋轉,改變透明度)來實現動畫的效果,動畫效果的定義可以采用XML方式也可以采用編碼來做Tween動畫(文章最後會給出兩種方式動畫的源代碼Demo)。
動畫的類型
Xml定義動畫使用的配置節點
編碼定義動畫使用的類
漸變透明度動畫效果(簡稱透明動畫)
AlphaAnimation
漸變尺寸縮放動畫效果(縮放動畫)
ScaleAnimation
畫面位置移動動畫效果(移位動畫)
TranslateAnimation
畫面旋轉動畫效果(旋轉動畫)
RotateAnimation

源代碼:<喎?/kf/ware/vc/" target="_blank" class="keylink">vcD4KPHA+OjxpbWcgc3JjPQ=="/uploadfile/Collfiles/20140514/20140514092733116.jpg" alt="\">
布局文件activity_main:
相應的動畫屬性並沒有詳細標示,讀者可自行研究,爭取達到隨心所欲修改動畫效果的目的。
透明動畫aa.xml文件:
package com.myanimationdemo2;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.animation.AnimationUtils;
import android.widget.Button;
import com.myanimationdemo2.R.anim;
public class MainActivity extends Activity implements OnClickListener {
private Button button_alphaAnim, button_rotateAnim, button_translateAnim,
button_scaleAnim, button_setAnim1, button_setAnim2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button_alphaAnim = (Button) findViewById(R.id.button_alphaAnim);
button_rotateAnim = (Button) findViewById(R.id.button_rotateAnim);
button_translateAnim = (Button) findViewById(R.id.button_translateAnim);
button_scaleAnim = (Button) findViewById(R.id.button_scaleAnim);
button_setAnim1 = (Button) findViewById(R.id.button_setAnim1);
button_setAnim2 = (Button) findViewById(R.id.button_setAnim2);
button_alphaAnim.setOnClickListener(this);
button_rotateAnim.setOnClickListener(this);
button_translateAnim.setOnClickListener(this);
button_scaleAnim.setOnClickListener(this);
button_setAnim1.setOnClickListener(this);
button_setAnim2.setOnClickListener(this);
}
@Override
public void onClick(View v) {
switch (v.getId()) {
/**
* 透明動畫
*/
case R.id.button_alphaAnim:
v.startAnimation(AnimationUtils.loadAnimation(
getApplicationContext(), anim.aa));
break;
/**
* 旋轉動畫
*/
case R.id.button_rotateAnim:
v.startAnimation(AnimationUtils.loadAnimation(
getApplicationContext(), anim.ra));
break;
/**
* 移位動畫
*/
case R.id.button_translateAnim:
v.startAnimation(AnimationUtils.loadAnimation(
getApplicationContext(), anim.ta));
break;
/**
* 縮放動畫
*/
case R.id.button_scaleAnim:
v.startAnimation(AnimationUtils.loadAnimation(
getApplicationContext(), anim.sa));
break;
/**
* 透明動畫+移位動畫
*/
case R.id.button_setAnim1:
v.startAnimation(AnimationUtils.loadAnimation(
getApplicationContext(), anim.set1));
break;
/**
* 旋轉動畫+縮放動畫
*/
case R.id.button_setAnim2:
v.startAnimation(AnimationUtils.loadAnimation(
getApplicationContext(), anim.set2));
break;
default:
break;
}
}
}
下面給出兩者的源代碼Demo:
以xml形式的動畫Demo源代碼:
點擊下載源碼
直接在代碼中編寫的Demo源代碼:
點擊下載源碼
Android 開發中 iBeacon的使用
iBeacon的工作原理是基於Bluetooth Low Energy(BLE)低功耗藍牙傳輸技術,iBeacon基站不斷向四周發送藍牙信號,當智
Android圓形頭像圖Circle ImageView
《Android圓形頭像圖Circle ImageView》需要處理的原始圖(pic): 使用CircleImageView處理後的圖(作為頭像):
Android應用開發中使用GridView網格布局的代碼示例
基本布局演示1. 定義包含GridView 的 main.xmk<?xml version=1.0 encoding=utf-8?><L
Android SQLite數據庫基本操作方法
程序的最主要的功能在於對數據進行操作,通過對數據進行操作來實現某個功能。而數據庫就是很重要的一個方面的,Android中內置了小巧輕便,功能卻很強的一個數據庫–SQLit