Anim的使用与桌面快捷方式的生成
package org.crazyit.desktop; import java.util.Timer; import java.util.TimerTask; import org.crazyit.desktop.R; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.os.Parcelable; import android.view.View; import android.view.View.OnClickListener; import android.view.animation.Animation; import android.view.animation.AnimationUtils; import android.widget.Button; import android.widget.ImageView; /** * Description: * <br/>site: <a href="http://www.crazyit.org">crazyit.org</a> * <br/>Copyright (C), 2001-2012, Yeeku.H.Lee * <br/>This program is protected by copyright laws. * <br/>Program Name: * <br/>Date: * @author Yeeku.H.Lee [email protected] * @version 1.0 */ public class AddShortcut extends Activity { ImageView flower; // 定义两份动画资源 Animation anim, reverse; final Handler handler = new Handler() { @Override public void handleMessage(Message msg) { if (msg.what == 0x123) { flower.startAnimation(reverse); } } }; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); flower = (ImageView) findViewById(R.id.flower); // 加载第一份动画资源 anim = AnimationUtils.loadAnimation(this, R.anim.anim); // 设置动画结束后保留结束状态 anim.setFillAfter(true); // 加载第二份动画资源 reverse = AnimationUtils.loadAnimation(this, R.anim.reverse); // 设置动画结束后保留结束状态 reverse.setFillAfter(true); Button bn = (Button) findViewById(R.id.bn); // 为按钮的单击事件添加监听器 bn.setOnClickListener(new OnClickListener() { @Override public void onClick(View source) { // 创建添加快捷方式的Intent Intent addIntent = new Intent( "com.android.launcher.action.INSTALL_SHORTCUT"); String title = getResources().getString(R.string.title); // 加载快捷方式的图标 Parcelable icon = Intent.ShortcutIconResource.fromContext( AddShortcut.this, R.drawable.icon); // 创建点击快捷方式后操作Intent,该处当点击创建的快捷方式后,再次启动该程序 Intent myIntent = new Intent(AddShortcut.this, AddShortcut.class); // 设置快捷方式的标题 addIntent.putExtra(Intent.EXTRA_SHORTCUT_NAME, title); // 设置快捷方式的图标 addIntent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, icon); // 设置快捷方式对应的Intent addIntent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, myIntent); // 发送广播添加快捷方式 sendBroadcast(addIntent); } }); } @Override public void onResume() { super.onResume(); // 开始执行动画 flower.startAnimation(anim); // 设置3.5秒后启动第二个动画 new Timer().schedule(new TimerTask() { @Override public void run() { handler.sendEmptyMessage(0x123); } }, 3500); } }
- <!-- android:pivotX="50" 表示绝对定位
- android:pivotX="50%" 表示相对控件本身的定位
- android:pivotX="50%p" 表示相对父控件的定位
- -->
窗口抖动效果。。
<?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android" android:interpolator="@anim/cycle" > <translate android:fromXDelta="0" android:toXDelta="-10" android:fromYDelta="0" android:toYDelta="-10" android:duration="300"/> <translate android:fromXDelta="0" android:toXDelta="10" android:fromYDelta="0" android:toYDelta="-10" android:startOffset="300" android:duration="300"/> <translate android:fromXDelta="0" android:toXDelta="-10" android:fromYDelta="0" android:toYDelta="10" android:startOffset="600" android:duration="300"/> <translate android:fromXDelta="0" android:toXDelta="10" android:fromYDelta="0" android:toYDelta="10" android:startOffset="900" android:duration="300"/> </set>
cycle.xml
<?xml version="1.0" encoding="utf-8"?> <cycleInterpolator xmlns:android="http://schemas.android.com/apk/res/android" android:cycles="2"/>
以下为 Scale .android:pivotX="50%" 的理解。原来为整个View最后缩放到哪。
常用动画资源
附件Anim包含多种 activity之间切换效果。。。
相关推荐
huha 2020-10-16
xfcyhades 2020-11-20
sgafdsg 2020-11-04
Michael 2020-11-03
fengyeezju 2020-10-14
ziyexiaoxiao 2020-10-14
业余架构师 2020-10-09
OuNuo0 2020-09-29
moses 2020-09-22
Angelia 2020-09-11
qinxu 2020-09-10
刘炳昭 2020-09-10
Nostalgiachild 2020-09-07
Nostalgiachild 2020-08-17
leavesC 2020-08-14
一青年 2020-08-13
AndroidAiStudy 2020-08-07
ydc0 2020-07-30
绿豆饼 2020-07-28