編輯:關於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源代碼:
點擊下載源碼
iBeacon的工作原理是基於Bluetooth Low Energy(BLE)低功耗藍牙傳輸技術,iBeacon基站不斷向四周發送藍牙信號,當智
《Android圓形頭像圖Circle ImageView》需要處理的原始圖(pic): 使用CircleImageView處理後的圖(作為頭像):
基本布局演示1. 定義包含GridView 的 main.xmk<?xml version=1.0 encoding=utf-8?><L
程序的最主要的功能在於對數據進行操作,通過對數據進行操作來實現某個功能。而數據庫就是很重要的一個方面的,Android中內置了小巧輕便,功能卻很強的一個數據庫–SQLit