安卓开发基础之tween动画基本使用,代码教学
xml代码块:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<ImageView
android:id="@+id/img_animations"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/img1"/>
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="#ff00ff"/>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_gravity="center_horizontal"
>
<Button
android:id="@+id/but1"
android:layout_weight="1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="旋转"
android:textColor="#ff00ff"/>
<Button
android:id="@+id/but2"
android:layout_weight="1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:text="位移"
android:textColor="#ff00ff"/>
<Button
android:id="@+id/but3"
android:layout_weight="1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:text="渐变"
android:textColor="#ff00ff"/>
<Button
android:id="@+id/but4"
android:layout_weight="1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:text="缩放"
android:textColor="#ff00ff"/>
</LinearLayout>
</LinearLayout>
JAVA代码块:
package com.sumzom.animations;
import com.example.com.sumzom.teach.R;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.animation.AlphaAnimation;
import android.view.animation.Animation;
import android.view.animation.AnimationSet;
import android.view.animation.RotateAnimation;
import android.view.animation.ScaleAnimation;
import android.view.animation.TranslateAnimation;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.Toast;
/**
* @author sumzom
* QQ2356066132
* tween动画基本使用方法
* */
public class AnimationsTest extends Activity implements OnClickListener{
private Button but1,but2,but3,but4 = null;
private ImageView img_animations = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.animations);
initWithView();
initWithLogic();
}
private void initWithLogic() {
// TODO Auto-generated method stub
}
private void initWithView() {
// TODO Auto-generated method stub
but1 = (Button) findViewById(R.id.but1);
but2 = (Button) findViewById(R.id.but2);
but3= (Button) findViewById(R.id.but3);
but4 = (Button) findViewById(R.id.but4);
img_animations = (ImageView) findViewById(R.id.img_animations);
but1.setOnClickListener(this);
but2.setOnClickListener(this);
but3.setOnClickListener(this);
but4.setOnClickListener(this);
}
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
switch (arg0.getId()) {
case R.id.but1:
but1();
Toast.makeText(getApplicationContext(), "旋转",
Toast.LENGTH_SHORT).show();
break;
case R.id.but2:
but2();
Toast.makeText(getApplicationContext(), "位移",
Toast.LENGTH_SHORT).show();
break;
case R.id.but3:
but3();
Toast.makeText(getApplicationContext(), "渐变",
Toast.LENGTH_SHORT).show();
break;
case R.id.but4:
but4();
Toast.makeText(getApplicationContext(), "缩放",
Toast.LENGTH_SHORT).show();
break;
default:
break;
}
}
//缩放
private void but4() {
// fromX, toX, fromY, toY, pivotXType,
//pivotXValue, pivotYType, pivotYValue)
AnimationSet set = new AnimationSet(true);
ScaleAnimation animation = new ScaleAnimation(
0, 0.1f, 0, 0.5f, Animation.RELATIVE_TO_SELF,
0.5f, Animation.RELATIVE_TO_SELF, 0.5f);
animation.setDuration(3000);
set.addAnimation(animation);
img_animations.startAnimation(set);
}
/**
* @author sumzom
* QQ2356066132
* tween动画基本使用方法
* 渐变
* */
private void but3() {
//fromAlpha, toAlpha起始背景透明度,结束透明度
AnimationSet animationSet = new AnimationSet(true);
AlphaAnimation alphaAnimation = new AlphaAnimation(1, 0.2f);
alphaAnimation.setDuration(5000);
animationSet.addAnimation(alphaAnimation);
img_animations.startAnimation(animationSet);
}
//位移
private void but2() {
// TODO Auto-generated method stub
/**
* @author sumzom
* QQ2356066132
* tween动画基本使用方法
* 1~2参数 fromXType fromXValue:起始位置X类型与值
* 3~4参数 toXType toXValue:结束位置X类型与值
* 5~6参数 fromYType fromYValue:起始位置Y类型与值
* 7~8参数 toYType toYValue:结束位置Y类型与值
* */
AnimationSet set = new AnimationSet(true);
TranslateAnimation TSAM = new TranslateAnimation(
Animation.RELATIVE_TO_SELF, 0, Animation.RELATIVE_TO_SELF,
0, Animation.RELATIVE_TO_SELF, 0, Animation.RELATIVE_TO_SELF,
0.5f);
TSAM.setDuration(3000);
set.addAnimation(TSAM);
img_animations.startAnimation(set);
}
//旋转
private void but1() {
// TODO Auto-generated method stub
AnimationSet set = new AnimationSet(true);
/**
* @author sumzom
* QQ2356066132
* tween动画基本使用方法
* RotateAnimation:旋转动画
* 参数一:fromDegrees,起始角度
* 参数二:toDegrees,结束角度
* 后四参数确定圆心是哪个
* 参数三:pivotXType,X坐标类型
* 参数四:pivotXValue,X值
* 参数五:pivotYType,Y类型
* 参数六:pivotYValue,Y值
* */
RotateAnimation animation = new RotateAnimation(0, 360,
Animation.RELATIVE_TO_SELF, 0.5f,
Animation.RELATIVE_TO_SELF, 0.5f);
animation.setDuration(3000);
set.addAnimation(animation);
img_animations.startAnimation(set);
}
}
运行效果:
413PZL[KSVG2X4Z1$Z@DL.jpg)
安卓开发基础之tween动画基本使用,代码教学的更多相关文章
- android安卓开发基础小笔记,添加按钮事件,打开新窗体,窗体传值,回传
给一个按钮添加onclick事件 //获取按钮对象 Button Aiyo = (Button)findViewById(R.id.button1); Aiyo.setOnClickListener( ...
- 安卓开发学习历程1——《第一行代码》coolweather项目setOnItemClickListener函数,Sql语句修改对模拟app程序机影响
今天,将<第一行代码>最后实战的coolweather项目,认真做了一遍. 今晚,在书中第一阶段开发代码认眞在Android studio敲完,发现setOnItemClickListen ...
- Web前端开发基础 第四课(盒代码模型)
盒模型代码简写 还记得在讲盒模型时外边距(margin).内边距(padding)和边框(border)设置上下左右四个方向的边距是按照顺时针方向设置的:上右下左.具体应用在margin和paddin ...
- Eclipse安卓开发环境搭建
前提,Java SDK和Eclipse搭建完毕 下载android SDK并安装 (官网:http://sdk.android-studio.org/ ) 找到安装目录,运行“SDK Manager. ...
- iOS开发基础-九宫格坐标(6)
继续对iOS开发基础-九宫格坐标(5)中的代码进行优化. 优化思路:把字典转模型部分的数据处理操作也拿到模型类中去实现,即将 ViewController 类实现中 apps 方法搬到 WJQAppI ...
- Android(安卓)开发通过NDK调用JNI,使用opencv做本地c++代码开发配置方法 边缘检测 范例代码
以前写过两个Android开发配置文档,使用NDK进行JNI开发,这样能够利用以前已经写好的C++代码. 前两篇博客地址: http://blog.csdn.net/watkinsong/articl ...
- Android基础夯实--重温动画(一)之Tween Animation
心灵鸡汤:真正成功的人生,不在于成就的大小,而在于你是否努力地去实现自我,喊出自己的声音,走出属于自己的道路. 摘要 不积跬步,无以至千里:不积小流,无以成江海.学习任何东西我们都离不开扎实的基础知识 ...
- iOS开发UI篇—核心动画(基础动画)
转自:http://www.cnblogs.com/wendingding/p/3801157.html 文顶顶 最怕你一生碌碌无为 还安慰自己平凡可贵 iOS开发UI篇—核心动画(基础动画) iOS ...
- 安卓开发_浅谈Android动画(四)
Property动画 概念:属性动画,即通过改变对象属性的动画. 特点:属性动画真正改变了一个UI控件,包括其事件触发焦点的位置 一.重要的动画类及属性值: 1. ValueAnimator 基本属 ...
随机推荐
- TinyOS和Deluge的安装模拟(二)
TinyOS的安装 TinyOS的安装是一件麻烦的事情,它不像其他的开发环境那样配置简单.要想成功安装好TinyOS,需要选择好PC操作系统,TinyOS安装文件的版本,工具链的版本…….总之,安装过 ...
- .Net语言 APP开发平台——Smobiler学习日志:用MenuView控件仿钉钉APP的首页菜单
最前面的话:Smobiler是一个在VS环境中使用.Net语言来开发APP的开发平台,也许比Xamarin更方便 一.目标样式 我们要实现上图中的效果,需要如下的操作: 1.从工具栏上的”Smobil ...
- Android去掉listView,gridView等系统自带阴影
当我们使用listView的时候,拉到顶,或是拉到底部的时候,我们会发现有系统自带的阴影效果出现,不同手机出现的颜色可能还会不一样. 在以前我始终都有注意到此问题,一直以为是系统自带的,不能去掉.也没 ...
- Win10通用程序 UWP版HtmlAgilityPack UWP应用使用示例
Win10 UWP版HtmlAgilityPack,UWP应用使用示例下载. Win10 发布了一个多星期,sdk是随着一起发布的,我安装好vs2015和sdk 开发UWP 通用程序. 在做网络解析的 ...
- 清除svn账户账号密码
1. 2. 3. 4. 5.再次访问时,会弹出要求输入用户名和密码:只是清除记住的用户名和密码.
- CSS选择器(一)
CSS选择器包括标签选择器.ID选择器.类选择器.伪类和伪对象选择器.子选择器.相邻选择器.属性选择器.通用选择器.包含选择器.分组选择器.指定选择器等选择器,分为标签选择器.ID选择器.类选择器.特 ...
- 根据商品名称、价格区间检索商品的SQL语句
如果名称和价格为空会检索出所有的数据 select * from TblProduct where (@proName='' or chvProName like '%'+@proName+'%') ...
- HDU 4293---Groups(区间DP)
题目链接 http://acm.split.hdu.edu.cn/showproblem.php?pid=4293 Problem Description After the regional con ...
- 阿里巴巴笔试整理系列 Session2 中级篇
1知识点储备-----2笔试题总结-----3面试经验总结 知识点储备 2014年8月29日在线笔试题:20单选(40分钟内完成)+附加题(2道编程+1道问答) 1. 通过算法生成的随机数是“伪随机” ...
- 关于javascript的一些知识以及循环
javascript的一些知识点:1.常用的五大浏览器:chrome,firefox,Safari,ie,opera 2.浏览器是如何工作的简化版:3.Js由ECMAjavascript;DOM;BO ...