TimePicker控件、帧动画、补间动画
1.TimePicker控件
最近感觉每个开发平台的控件基本都差不多,在Android中控件的事件和.net控件直接写事件有一定的区别,net事件可以直接界面进行事件的绑定哈。不过在Silverlight中,如果用MVVM设计模式的话,也可以自己为控件写Command命令的,可以取代控件的事件。
TimePicker控件,也就是事件控件,可以用设置时间的。在页面拖入控件后,默认是显示系统时间的。
<TimePicker
android:id="@+id/timePicker1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/textView1"
android:layout_alignTop="@+id/textView1" />
TimePicker控件
该控件可以通过OnTimeChangedListener监听时间的改变,可以获得时和分,并不能精确到秒。
public void onTimeChanged(TimePicker view, int hourOfDay, int minute) {
// TODO 自动生成的方法存根
funTime(hourOfDay,minute);
}
private void funTime(int hourOfDay, int minute) {
// TODO 自动生成的方法存根
EditText myEdit=(EditText)findViewById(R.id.editText1);
myEdit.setText("当前时间为:"+hourOfDay+"时"+minute+"分");
}
TimePicker事件监听
2.帧动画
帧动画,也就是将静态图像连续播放的,播放的间隔可以自己设置。
首先需要在anim文件下,添加一个animation-list类型的xml文档。
<animation-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:drawable="@drawable/bulb01" android:duration="500" android:visible="true"></item>
<item android:drawable="@drawable/bulb02" android:duration="500" android:visible="true"></item>
<item android:drawable="@drawable/bulb03" android:duration="500" android:visible="true"></item>
<item android:drawable="@drawable/bulb04" android:duration="500" android:visible="true"></item>
</animation-list>
animation-list
这里定义了4个对象,并为每个对象指定了drawable和duration。
然后可以通过button按钮控制动画的播放与停止
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
myTime=(TimePicker)findViewById(R.id.timePicker1);
ImageView iv=(ImageView)findViewById(R.id.imageView1);
Button start=(Button)findViewById(R.id.button1);
Button end=(Button)findViewById(R.id.button2);
iv.setBackgroundResource(R.drawable.animationlist);
Button mybutton=(Button)findViewById(R.id.button3);
mybutton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
ImageView imgView=(ImageView)findViewById(R.id.imageView2);
// TODO 自动生成的方法存根
//动画实例
Animation ani=AnimationUtils.loadAnimation(MainActivity.this, R.anim.twiani);
//开始动画
imgView.startAnimation(ani);
}
});
//定义帧动画
final AnimationDrawable ad=(AnimationDrawable)iv.getBackground();
//开始按钮监听
start.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO 自动生成的方法存根
//动画开始
ad.start();
}
});
//结束按钮监听
end.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO 自动生成的方法存根
//动画停止
ad.stop();
}
});
}
帧动画 播放图片
3.补间动画
补间动画和帧动画有很大的区别,补间动画是对一张或者两张图片进行的变换,这些变换包括移动、大小、旋转等,只需要第一帧和最后一帧的图片。
(1)在anim文件中建立一个set类型的xml文档。
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<!-- 透明度-->
<alpha android:fromAlpha="0.0" android:toAlpha="1.0" android:duration="6000" >
</alpha>
<!-- 尺寸 --> <scale android:interpolator="@android:anim/accelerate_decelerate_interpolator"
android:fromXScale="0.0"
android:toXScale="1.0"
android:fromYScale="0.0"
android:toYScale="1.0"
android:pivotX="50%"
android:pivotY="50%"
android:fillAfter="false"
android:duration="5000"></scale>
<!-- 位置-->
<translate android:fromXDelta="30"
android:toXDelta="0"
android:fromYDelta="30"
android:toYDelta="0"
android:duration="10000"></translate>
<!-- 旋转 -->
<rotate android:interpolator="@android:anim/accelerate_decelerate_interpolator"
android:fromDegrees="0"
android:toDegrees="360"
android:pivotX="50%"
android:pivotY="50%"
android:duration="10000"/>
</set>
Set类型
这里通过<alpha>、<scale>、<translate>、<rotate>分别对图像的透明度、缩放、移动和旋转进行控制。
(2)在后台进行动画的播放
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button mybutton=(Button)findViewById(R.id.button3);
mybutton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
ImageView imgView=(ImageView)findViewById(R.id.imageView2);
// TODO 自动生成的方法存根
//动画实例
Animation ani=AnimationUtils.loadAnimation(MainActivity.this, R.anim.twiani);
//开始动画
imgView.startAnimation(ani);
}
});
}
补间动画
TimePicker控件、帧动画、补间动画的更多相关文章
- android 帧动画,补间动画,属性动画的简单总结
帧动画——FrameAnimation 将一系列图片有序播放,形成动画的效果.其本质是一个Drawable,是一系列图片的集合,本身可以当做一个图片一样使用 在Drawable文件夹下,创建ani ...
- 属性动画 补间动画 帧动画 基本使用案例 MD
Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...
- Android笔记(六十四) android中的动画——补间动画(tweened animation)
补间动画就是只需要定义动画开始和结束的位置,动画中间的变化由系统去补齐. 补间动画由一下四种方式: 1.AplhaAnimation——透明度动画效果 2.ScaleAnimation ——缩放动画效 ...
- Android 动画 属性动画 视图动画 补间动画 帧动画 详解 使用
Android动画 Property Animation res/animator/filename.xml In Java: R.animator.filename In XML: @[packag ...
- Android中的帧动画与补间动画的使用
前言 在日常开发中,我们有时候须要一些好看的动画效果,这时能够充分利用Android提供的这几种动画来实现. Android提供了3种类型的动画: 补间动画:补间动画能够应用于View,让你能够定义一 ...
- Android基础笔记(十)- 帧动画、补间动画具体解释、对话框
帧动画 补间动画Tween Animation 对话框以及面试中的注意点 帧动画 帧动画非常easy,我们首先看一下Google官方解释This is a traditional animation ...
- android104 帧动画,补间动画,属性动画
##帧动画FrameAnimation* 多张图片快速切换,形成动画效果* 帧动画使用xml定义 package com.itheima.frameanimation; import android. ...
- android 补间动画
android开发过程中,为了更好的展示应用程序,应用程序添加动画,能够很好地实现这个功能.如果动画中的图像变化有一定的规律,可以采用自动生成图像的方式来生成动画,例如图像的移动.旋转.缩放等.自动生 ...
- Android开发实战之补间动画和属性动画
说起动画,其实一点也不陌生,在使用一款app的时候为了优化用户体验,多多少少的,都会加入动画. 安卓中的动画,分为两大类:补间动画和属性动画.本篇博文会详细介绍总结这两大动画,希望本篇博文对你的学习和 ...
随机推荐
- cocos2d-x-2.2.5项目创建--命令行创建
Gavin:downloads DavidLik$ cd cocos2d-x-2.2.5/ Gavin:cocos2d-x-2.2.5 DavidLik$ cd tools/ Gavin:tools ...
- Java中对象的三种状态
Java中的对象的三种状态是和垃圾回收紧密相关的,因此有必要深究. 状态一:可触及态:从根节点开始,可以搜索到这个对象,也就是可以访问到这个对象,也有人将其称为可达状态. 状态二:可复活态:从根节点开 ...
- stagefright框架(一)Video Playback的流程
在Android上,預設的多媒體框架(multimedia framework)是OpenCORE. OpenCORE的優點是兼顧了跨平台的移植性,而且已經過多方驗證,所以相對來說較為穩定:但是其缺點 ...
- C#的简单的Windows Service 创建与安装
注意事项: 1. 添加调试代码 入口: 服务: 2. 再服务界面右键添加安装程序 3. 修改安装程序属性(Account) 4. 修改服务安装属性(DelayedAutoStart,ServiceNa ...
- android如何调用显示和隐藏系统默认的输入法(一)
1.调用显示系统默认的输入法 方法一. InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_MET ...
- web.xml中的主要元素说明(listener, filter, servlet)
web.xml中加载的顺序为:context-param ---> listener ---> filter ---> servlet. listener:主要针对的是对象的操作,如 ...
- HDU 2604 - Queuing
长度为 n 有男有女的队伍里没有 fmf 和 fff 的序列有多少 判断最后一个人无法得出结论 于是判断最后两人的递推式: fm(n) = mm(n-1) //最后两人为fm的长度为n的队伍 只能 ...
- FullScreenFragment Code
package com.dexode.fragment; import android.annotation.TargetApi; import android.app.Activity; impor ...
- 踩坑学php(1)
前言: 为什么要学php 呢?作为一个前端,一直有着了解后台的好奇心:作为一个计算机毕业的,一直有着实践更多设计模式和数据库相关的东西:而php 非常流行,拥有非常多的资源,入门应该容易: 为什么叫& ...
- android签名相关
生成apk.keystore: 右键工程:Android tools——>Export Signed Application Package后,相册中截图: 一直下一步下一步,成功后jarsig ...