TimePicker控件、帧动画、补间动画

1.TimePicker控件

最近感觉每个开发平台的控件基本都差不多,在Android中控件的事件和.net控件直接写事件有一定的区别,net事件可以直接界面进行事件的绑定哈。不过在Silverlight中,如果用MVVM设计模式的话,也可以自己为控件写Command命令的,可以取代控件的事件。

TimePicker控件,也就是事件控件,可以用设置时间的。在页面拖入控件后,默认是显示系统时间的。

1     <TimePicker
2         android:id="@+id/timePicker1"
3         android:layout_width="wrap_content"
4         android:layout_height="wrap_content"
5         android:layout_alignLeft="@+id/textView1"
6         android:layout_alignTop="@+id/textView1" />

TimePicker控件

该控件可以通过OnTimeChangedListener监听时间的改变,可以获得时和分,并不能精确到秒。

 1         public void onTimeChanged(TimePicker view, int hourOfDay, int minute) {
 2                 // TODO 自动生成的方法存根
 3                 funTime(hourOfDay,minute);
 4             }
 5 private void funTime(int hourOfDay, int minute) {
 6         // TODO 自动生成的方法存根
 7         EditText myEdit=(EditText)findViewById(R.id.editText1);
 8         myEdit.setText("当前时间为:"+hourOfDay+"时"+minute+"分");
 9
10     }

TimePicker事件监听

2.帧动画

帧动画,也就是将静态图像连续播放的,播放的间隔可以自己设置。

首先需要在anim文件下,添加一个animation-list类型的xml文档。

1 <animation-list xmlns:android="http://schemas.android.com/apk/res/android" >
2     <item android:drawable="@drawable/bulb01" android:duration="500" android:visible="true"></item>
3 <item android:drawable="@drawable/bulb02" android:duration="500" android:visible="true"></item>
4 <item android:drawable="@drawable/bulb03" android:duration="500" android:visible="true"></item>
5 <item android:drawable="@drawable/bulb04" android:duration="500" android:visible="true"></item>
6 </animation-list>

animation-list

这里定义了4个对象,并为每个对象指定了drawable和duration。

然后可以通过button按钮控制动画的播放与停止

 1   protected void onCreate(Bundle savedInstanceState) {
 2         super.onCreate(savedInstanceState);
 3         setContentView(R.layout.activity_main);
 4         myTime=(TimePicker)findViewById(R.id.timePicker1);
 5         ImageView iv=(ImageView)findViewById(R.id.imageView1);
 6         Button start=(Button)findViewById(R.id.button1);
 7         Button end=(Button)findViewById(R.id.button2);
 8        iv.setBackgroundResource(R.drawable.animationlist);
 9        Button mybutton=(Button)findViewById(R.id.button3);
10
11        mybutton.setOnClickListener(new OnClickListener() {
12
13         @Override
14         public void onClick(View v) {
15             ImageView imgView=(ImageView)findViewById(R.id.imageView2);
16             // TODO 自动生成的方法存根
17             //动画实例
18             Animation ani=AnimationUtils.loadAnimation(MainActivity.this, R.anim.twiani);
19             //开始动画
20             imgView.startAnimation(ani);
21         }
22     });
23        //定义帧动画
24        final AnimationDrawable ad=(AnimationDrawable)iv.getBackground();
25        //开始按钮监听
26        start.setOnClickListener(new OnClickListener() {
27
28         @Override
29         public void onClick(View v) {
30             // TODO 自动生成的方法存根
31             //动画开始
32             ad.start();
33         }
34     });
35        //结束按钮监听
36        end.setOnClickListener(new OnClickListener() {
37
38         @Override
39         public void onClick(View v) {
40             // TODO 自动生成的方法存根
41             //动画停止
42             ad.stop();
43         }
44     });
45
46     }

帧动画 播放图片

3.补间动画

补间动画和帧动画有很大的区别,补间动画是对一张或者两张图片进行的变换,这些变换包括移动、大小、旋转等,只需要第一帧和最后一帧的图片。

(1)在anim文件中建立一个set类型的xml文档。

 1 <?xml version="1.0" encoding="utf-8"?>
 2 <set xmlns:android="http://schemas.android.com/apk/res/android">
 3     <!-- 透明度-->
 4     <alpha android:fromAlpha="0.0" android:toAlpha="1.0" android:duration="6000" >
 5         </alpha>
 6                <!-- 尺寸 -->
 7
 8      <scale android:interpolator="@android:anim/accelerate_decelerate_interpolator"
 9            android:fromXScale="0.0"
10            android:toXScale="1.0"
11            android:fromYScale="0.0"
12            android:toYScale="1.0"
13            android:pivotX="50%"
14            android:pivotY="50%"
15            android:fillAfter="false"
16            android:duration="5000"></scale>
17                     <!--  位置-->
18          <translate android:fromXDelta="30"
19                android:toXDelta="0"
20                android:fromYDelta="30"
21                android:toYDelta="0"
22                android:duration="10000"></translate>
23   <!-- 旋转 -->
24   <rotate android:interpolator="@android:anim/accelerate_decelerate_interpolator"
25       android:fromDegrees="0"
26       android:toDegrees="360"
27       android:pivotX="50%"
28       android:pivotY="50%"
29       android:duration="10000"/>
30 </set>

Set类型

这里通过<alpha>、<scale>、<translate>、<rotate>分别对图像的透明度、缩放、移动和旋转进行控制。

(2)在后台进行动画的播放

 1     protected void onCreate(Bundle savedInstanceState) {
 2         super.onCreate(savedInstanceState);
 3         setContentView(R.layout.activity_main);
 4
 5        Button mybutton=(Button)findViewById(R.id.button3);
 6
 7        mybutton.setOnClickListener(new OnClickListener() {
 8
 9         @Override
10         public void onClick(View v) {
11             ImageView imgView=(ImageView)findViewById(R.id.imageView2);
12             // TODO 自动生成的方法存根
13             //动画实例
14             Animation ani=AnimationUtils.loadAnimation(MainActivity.this, R.anim.twiani);
15             //开始动画
16             imgView.startAnimation(ani);
17         }
18     });
19
20
21
22     }
23
24     

补间动画

TimePicker控件、帧动画、补间动画

时间: 2024-10-07 04:17:36

TimePicker控件、帧动画、补间动画的相关文章

Android笔记(六十四) android中的动画——补间动画(tweened animation)

补间动画就是只需要定义动画开始和结束的位置,动画中间的变化由系统去补齐. 补间动画由一下四种方式: 1.AplhaAnimation——透明度动画效果 2.ScaleAnimation ——缩放动画效果 3.TranslateAnimation——位移动画效果 4.RotateAnimation——旋转动画效果 1.AplhaAnimation AplhaAnimation的参数: fromAlpha:动画开始时的透明度,0.0表示完全透明 toAlpha:动画结束时的透明度,1.0表示完全不透

Android 动画 属性动画 视图动画 补间动画 帧动画 详解 使用

Android动画 Property Animation res/animator/filename.xml In Java: R.animator.filename In XML: @[package:]animator/filename Tween Animation res/anim/filename.xml In Java: R.anim.filename In XML: @[package:]anim/filename Frame Animation res/drawable/file

Android动画--帧动画和补间动画

帧动画 首先我们定义在drawable文件夹下定义一个xml文件 里面包含我们要播放的动画的图片,以及每一帧动画的播放的时长 <?xml version="1.0" encoding="utf-8"?> <animation-list xmlns:android="http://schemas.android.com/apk/res/android"> <item android:drawable="@mi

Android基础笔记(十)- 帧动画、补间动画详解、对话框

帧动画 补间动画Tween Animation 对话框以及面试中的注意点 帧动画 帧动画很简单,我们首先看一下Google官方解释This is a traditional animation in the sense that it is created with a sequence of different images. 意思表达的很明了,一个传统的动画是由一组不同的图片组成的.帧动画,就像GIF图片,通过一系列Drawable依次显示来模拟动画的效果. 创建一帧动画分为一下几步(支持4

android 补间动画

android开发过程中,为了更好的展示应用程序,应用程序添加动画,能够很好地实现这个功能.如果动画中的图像变化有一定的规律,可以采用自动生成图像的方式来生成动画,例如图像的移动.旋转.缩放等.自动生成中间图像的动画,补间动画,只需指定第一帧和最后一帧. 补间动画的优点是节省硬盘空间,缺点是,无法生成复杂的动画.本文主要介绍经常用到的四种补间动画:移动.缩放.旋转.透明度. 1.移动补间动画 移动是比较常见的动画效果.通过xml文件或者java代码能够实现补间动画的移动效果.在res/anim,

Android补间动画属性

Android动画分为帧动画和补间动画. 补间动画的效果: alpha-------渐变透明度动画效果 scale--------渐变尺寸伸缩动画效果 translate---画面转换位置移动动画效果 rotate------画面转移旋转动画效果 具体属性: <?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/r

Android开发实战之补间动画和属性动画

说起动画,其实一点也不陌生,在使用一款app的时候为了优化用户体验,多多少少的,都会加入动画. 安卓中的动画,分为两大类:补间动画和属性动画.本篇博文会详细介绍总结这两大动画,希望本篇博文对你的学习和生活有所帮助. **补间动画** 补间动画分为四类:平移动画,旋转动画,缩放动画和渐变动画.这几类动画用法都差不多,只是对象参数不同这里我统一展示出来.以下是效果图: 实现代码很简单: btn1.setOnClickListener(new View.OnClickListener() { @Ove

实现逐帧动画和补间动画两种动画效果

1.逐帧动画(Frame Animation)通常在Android项目的res/drawable/目录下面定义逐帧动画的XML模板文件.编码的时候,需要在动画模板文件的<animation-list>标签中依次放入需要播放的图片,并设置好播放的间隔时间. <animation-list xmlns:android="http://schemas.android.com/apk/res/android" android:oneshot="false"

Android动画效果——1.帧动画2.补间动画3.跳转画面(三)

Android--动画效果1.帧动画2.补间动画3.跳转画面 插值器类 xml属性值 说明 LinearInterpolator @android:anim/linear_interpolatorr 动画以均匀的速度改变. AccelerateInterpolator @android:anim/accelerate_interpolator 在动画开始时改变速度较慢,然后开始加速. AccelerateDecelerateInterpolator @android:anim/accelerat