- 浏览: 67679 次
- 性别:
- 来自: Mercury
最新评论
Android35_Animations使用(三)
- 博客分类:
- Android
一、AnimationSet的具体使用方法
1.AnimationSet是Animation的子类;
2.一个AnimationSet包含了一系列的Animation;
3.针对AnimationSet设置一些Animation的常见属性(如startOffset,duration等),可以被包含在AnimationSet当中的Animation集成;
例:一个AnimationSet中有两个Animation,效果叠加
AnimationSet animationSet = new AnimationSet(true); AlphaAnimation alphaAnimation = new AlphaAnimation(1, 0); RotateAnimation rotateAnimation = new RotateAnimation(0, 360, Animation.RELATIVE_TO_SELF,0.5f, Animation.RELATIVE_TO_SELF,0.5f); rotateAnimation.setDuration(1000); animationSet.addAnimation(rotateAnimation); animationSet.addAnimation(alphaAnimation); image.startAnimation(animationSet);
二、Interpolator的具体使用方法
Interpolator定义了动画变化的速率,在Animations框架当中定义了一下几种Interpolator
AccelerateDecelerateInterpolator:在动画开始与结束的地方速率改变比较慢,在中间的时候速率快。
AccelerateInterpolator:在动画开始的地方速率改变比较慢,然后开始加速
CycleInterpolator:动画循环播放特定的次数,速率改变沿着正弦曲线
DecelerateInterpolator:在动画开始的地方速率改变比较慢,然后开始减速
LinearInterpolator:动画以均匀的速率改变
例 在set标签上:
android:interpolator="@android:anim/accelerate_interpolator"
如果一个set中包含了两种动画效果,要想这两种动画效果共享一个interpolator,可以在set标签上添加:
android:shareInterpolator="true"
另以上方法是在xml上处理interpolator,如果是在代码上设置共享一个interpolator,则可以在AnimationSet设置interpolator,如果不设置共享一个interpolator则可以在alpha等的对象上面设置interpolator:
animationSet.setInterpolator(new AccelerateInterpolator());
或
alphaAnimation.setInterpolator(new AccelerateInterpolator());
三、Frame-By-Frame Animations的使用方法
Frame-By-Frame Animations是一帧一帧的格式显示动画效果。类似于电影胶片拍摄的手法。
例子程序:
多张图片展示一个人行走的动画。
Main.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> <LinearLayout android:orientation="horizontal" android:layout_height="wrap_content" android:layout_width="wrap_content"> <Button android:id="@+id/button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="运动"/> </LinearLayout> <LinearLayout android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> <ImageView android:id="@+id/image" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerInParent="true"/> </LinearLayout> </LinearLayout>
Anim.xml
<?xml version="1.0" encoding="utf-8"?> <animation-list xmlns:android="http://schemas.android.com/apk/res/android" android:oneshot="false"> <item android:drawable="@drawable/a_01" android:duration="50"/> <item android:drawable="@drawable/a_02" android:duration="50"/> <item android:drawable="@drawable/a_03" android:duration="50"/> <item android:drawable="@drawable/a_04" android:duration="50"/> <item android:drawable="@drawable/a_05" android:duration="50"/> <item android:drawable="@drawable/a_06" android:duration="50"/> </animation-list>
AnimationsActivity.java
package com.android.activity; import android.app.Activity; import android.graphics.drawable.AnimationDrawable; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.ImageView; public class AnimationsActivity extends Activity { private Button button = null; private ImageView imageView = null; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); button = (Button)findViewById(R.id.button); imageView = (ImageView)findViewById(R.id.image); button.setOnClickListener(new ButtonListener()); } class ButtonListener implements OnClickListener{ public void onClick(View v) { imageView.setBackgroundResource(R.anim.anim); AnimationDrawable animationDrawable = (AnimationDrawable) imageView.getBackground(); animationDrawable.start(); } } }
运行结果:
发表评论
文章已被作者锁定,不允许评论。
-
Android40_Dialog
2011-11-14 00:11 2998Dialog是Android常用的对话框控件。AlertDia ... -
Android39_Clock和TimePicker
2011-11-14 00:08 2361一、AnalogClock和DigitalClock ... -
Android38_ImageView和Gallery
2011-11-14 00:07 3615一、ImageView使用方法 ImageVi ... -
Android37_JSON数据解析
2011-11-08 00:14 2349一、JSON介绍 JSON(JavaSc ... -
Android36_Animations使用(四)
2011-11-08 00:14 3418一、LayoutAnimationsContrlller ... -
Android34_Animations使用(二)
2011-11-08 00:12 1960在代码中使用Animations可以很方便的调试、运行 ... -
Android33_Animations使用(一)
2011-11-08 00:12 2287一、Animations介绍 Anima ... -
Android31_AppWidget使用(二)
2011-11-05 00:09 2510一、PendingIntent介绍 PendingIn ... -
Android30_AppWidget使用(一)
2011-11-05 00:08 2262一、App Widget定义 App ... -
Android32_Notification用法
2011-11-05 00:09 1889Android系统的状态栏(Status Bar)中有一 ... -
Android29_SeekBar和RatingBar
2011-11-02 23:21 2120一、使用SeekBar步骤: SeekB ... -
Android28_ExpandableListActivity
2011-11-02 23:21 1488ExpandableListActivity就是可扩展的 ... -
Android27_AutoCompleteTextView
2011-11-02 23:21 1093一、创建AutoCompleteTextView ... -
Android26_DatePicker
2011-11-02 23:20 1782一、DatePicker和DatePickerDialo ... -
Android25_Spinner使用方法
2011-11-02 23:20 2817一、创建Spinner的步骤 1.在布局 ... -
Android24_Service初步
2011-10-18 22:27 1008一、Service概念 ... -
Android23_Socket编程
2011-10-18 22:19 1513一、什么是Socket Socket是基 ... -
Android22_WIFI网络操作
2011-10-18 22:12 1695一、什么是WIFI WIFI就是一种无线 ... -
Android21_广播机制(二)
2011-10-18 22:00 1007一、注册BroadcastReceiver的方法 ... -
Android20_广播机制(一)
2011-10-18 21:48 1077一、Android广播机制介绍 Android:操作系统 ...
相关推荐
Android-android_additive_animations.zip,Android附加动画!,安卓系统是谷歌在2008年设计和制造的。操作系统主要写在爪哇,C和C 的核心组件。它是在linux内核之上构建的,具有安全性优势。
在Android 9.0中,Project Treble进一步完善,增强了对硬件抽象层(HAL)的支持,使得第三方ROM和厂商可以更快地适配新的Android版本。 2. **Digital Wellbeing**:为了帮助用户更好地管理他们在移动设备上的时间,...
在此处获得此库的良好概述: : 一体化要在您的项目中使用AdditiveAnimator ,请在build.gradle添加以下几行: dependencies { compile 'at.wirecube:additive_animations:1.9.0'}...repositories { jcenter()}快速...
6. **动画(Animations)**:Android提供多种动画类型,如属性动画(Property Animation)、视图动画(View Animation)和过渡动画(Transition Animation),可用于创建吸引人的用户交互。 7. **自定义视图...
在Android开发中,动画是提升用户体验的关键因素之一。"Androidg_java_android_acceptxpj_"这个主题聚焦...Material-Animations-master项目应该提供了丰富的示例代码和实践指导,是学习和提升Android动画技能的好资源。
Android SDK本身提供了基础的动画支持,但开发者还可以使用第三方库来扩展功能。例如,NineOldAndroids允许在Android 2.x版本上使用新的动画API,而Lottie库则支持直接在Android中播放Adobe After Effects创建的...
在Android中,可以使用XML文件定义颜色资源,方便在整个应用中复用。同时,通过设置主题(Theme),可以全局改变应用的视觉样式,如字体、背景色、控件样式等。 5. **响应式布局(Responsive Layouts)**: 使用...
6. **动画(Animations)**:Android支持多种类型的动画,如属性动画(Property Animation)、视图动画(View Animation)等,为用户界面增添动态效果,提高用户体验。 7. **触摸反馈(Touch Feedback)**:通过...
通过学习和使用"Android-animations",开发者不仅可以提高应用的视觉吸引力,还能确保应用在不同版本的Android系统上保持一致的用户体验。此外,熟悉"nineoldandroids"也有助于理解和使用Android的原生动画系统,这...
7. **动画(Animations)**:Android支持属性动画(Property Animation)、视图动画(View Animation)和过渡动画(Transition Animation),用于增强用户体验。例如,滑动切换效果、淡入淡出等。 8. **对话框...
### Android Animations动画使用详解 #### 一、概述 Android平台提供了丰富的动画支持来增强用户界面的交互体验。本文档将详细介绍Android中的四种基本动画类型:`Alpha`(透明度变化)、`Scale`(缩放变化)、`...
Animations Beautiful animations from AOSP 依賴 Add it in your root build.gradle at the end of repositories: allprojects { repositories { ... maven { url 'https://jitpack.io' } } } 查詢最新...
For making animations more real, I created another project named Android Easing Functions which is an implementations of easing functions on Android. So, we need to dependent that project. Step 1 ...
11_Animations01、12_Animations02、14_Animations04、15_Animations05和17_Animations07这些章节,会深入讲解如何创建和使用这些动画,以及如何实现复杂的过渡效果,提升用户体验。 2. **AppWidget**:AppWidget是...
01_FirstApp 02_MVC 03_ActivityLifecycle 05_SecondActivity 06_AndroidVersions 07_UIFragments 08_LayoutsAndWidgets 09_RecyclerView ...30_Animations 31_Locations 32_Maps 33_MaterialDesignTopics
本文实例讲述了Android开发之Animations动画用法。分享给大家供大家参考,具体如下: 一、动画类型 Android的animation由四种类型组成:alpha、scale、translate、rotate XML配置文件中 alpha 渐变透明度...
Material-Animations是专门为Android平台设计的一款开源项目,它致力于实现Material Design规范中的各种动画效果,使得开发者可以轻松地在自己的应用中添加生动、流畅的过渡动画。 项目的核心目标是提供Activity...
- 掌握Android 3.0中各种动画框架的使用方法。 - 学会如何设计和实现复杂的动画效果。 - 了解如何优化动画性能,避免影响用户体验。 - 能够独立完成包含高级动画效果的应用开发项目。 #### 六、结语 《Android 3.0...
【标题】"EventsCalendar_kotlinandroid_kotlin_" 指示这是一个使用Kotlin语言开发的Android日历应用,重点在于其包含多种动画效果。在Android应用开发中,Kotlin已经逐渐成为主流语言,以其简洁、安全和面向现代...