`
scliu0718
  • 浏览: 52213 次
  • 性别: Icon_minigender_1
  • 来自: 成都
文章分类
社区版块
存档分类
最新评论

Android之自定义Animation

 
阅读更多

public class AnimTest extends Activity{

// ....生命周期方法略

public void startAnim(View view, int deltaY){
MyAnim anim = new MyAnim(view,deltaY,true);
anim.setFillAfter(true);
anim.setFillEnabled(true);
anim.setDuration(500);
anim.setAnimationListener(new AnimationListener() {
@Override
public void onAnimationStart(Animation animation) {
button1.setEnabled(false);
button2.setEnabled(true);
}

@Override
public void onAnimationRepeat(Animation animation) {
}

@Override
public void onAnimationEnd(Animation animation) {

button1.setVisibility(View.INVISIBLE);
button2.setVisibility(View.VISIBLE);
}
});
view.startAnimation(anim);
}

class MyAnim extends Animation {
private View view;
private int deltaY;
private boolean initiallyCollapsed;

public MyAnim(View view, int deltaY, boolean initiallyCollapsed) {
this.view = view;
this.deltaY = deltaY;
this.initiallyCollapsed = initiallyCollapsed;
}

@Override
protected void applyTransformation(float interpolatedTime, Transformation t) {

int newHeight;
if (this.initiallyCollapsed) {
newHeight = (int) (this.deltaY * interpolatedTime);
} else {
newHeight = (int) (this.deltaY * (1 - interpolatedTime));
}
view.getLayoutParams().height = newHeight;
view.requestLayout();
}

@Override
public void initialize(int width, int height, int parentWidth, int parentHeight) {
super.initialize(width, height, parentWidth, parentHeight);
}

}
}
分享到:
评论

相关推荐

    android动画介绍之 自定义Animation动画

    本文将深入探讨Android自定义`Animation`动画的实现方式,帮助开发者更好地掌握这一技术。 Android动画分为多种类型,包括`Animation`类(补间动画)、`ViewPropertyAnimator`(属性动画)、以及`Transition`(过渡...

    2011.10.18——— android 自定义Animation

    这篇博客“2011.10.18——— android 自定义Animation”可能详细探讨了如何在Android平台上自定义各种动画效果,包括但不限于平移、旋转、缩放和透明度变化等。 在Android中,动画主要分为两种类型:属性动画...

    Animation动画的解析与自定义Animation动画

    本篇文章将深入解析Android中的动画系统,并探讨如何自定义Animation动画。 首先,Android提供了两种主要的动画机制:属性动画(Property Animation)和视图动画(View Animation)。属性动画是在Android 3.0(API ...

    Android之自定义ProgressBar

    为了使自定义的ProgressBar更具动态感,可以使用Animation类或者Animator类来实现进度变化的动画。例如,可以创建一个ValueAnimator并设置其更新监听器,动态改变ProgressBar的进度值。 5. 代码中控制进度: 在Java...

    android中自定义progressbar组件

    在Android开发中,自定义组件是一项重要的技能,它允许开发者根据需求创建独特的用户界面元素,提升应用的用户体验。本篇文章将深入探讨如何在Android中自定义一个基于逐帧动画的ProgressBar组件,即自定义loading...

    Android自定义控件开发入门与实战.zip

    《Android自定义控件开发入门与实战》这本书深入浅出地讲解了如何在Android平台上创建和使用自定义控件,旨在帮助开发者从基础知识到实战技巧,全方位掌握这一核心技术。 一、自定义控件基础 自定义控件在Android中...

    android listview 自定义样式实例

    以下将详细介绍如何在Android中实现ListView的自定义样式。 1. **自定义ListView的外观** - **自定义ListView项布局**:首先,你需要创建一个XML布局文件来定义ListView每一项的显示样式。这可以通过在`res/layout...

    【Android】自定义Button效果

    本篇将深入探讨如何在Android中实现自定义Button的效果,以及涉及到的相关知识点。 1. **自定义样式与主题** Android支持通过XML来定义按钮的样式。在`res/values/styles.xml`文件中,可以创建一个新样式,并指定...

    Android中自定义滑动选中控件WheelView

    你分享的`WheelView-master`可能包含了这些实现细节和优化措施,通过对源码的学习,我们可以深入理解Android自定义控件的开发流程,以及如何实现复杂的交互效果。同时,这也是与其他开发者交流和学习的好机会,共同...

    Android中自定义Toast.pdf

    本文将详细介绍如何在Android中自定义Toast。 首先,我们来看如何修改Toast的位置。在Android中,可以使用`setGravity()`方法来改变Toast的显示位置。例如,以下代码将Toast的位置设置为屏幕中央: ```java Toast ...

    android三种自定义Loading加载框

    在Android开发中,为了提升用户体验,开发者经常需要创建各种自定义的Loading加载框来提示用户应用正在处理数据或执行操作。本教程将详细介绍三种不同的自定义加载框实现方法,帮助你的应用程序在等待过程中呈现更...

    android 自定义View界面大合集

    4. **动画效果**:通过`Property Animation`或`View Animation`,开发者可以在自定义View中添加动态效果,增强用户体验。例如,可以使用`ObjectAnimator`、`ValueAnimator`和`AnimatorSet`来实现平移、旋转、缩放等...

    【Android】自定义左右滑动菜单

    这可以通过Android的Animation框架或者ViewPropertyAnimator来实现。例如,可以为菜单视图设置TranslationX动画,使其在滑动过程中平移;也可以使用Alpha动画改变透明度,创建出蒙版效果,使得菜单的出现和消失更加...

    安卓 android 自定义 switch button,滑动开关

    本篇将深入探讨如何在Android中自定义`Switch Button`,打造既漂亮又美观的滑动开关。 首先,自定义`Switch Button`涉及的主要方面包括布局设计和动画效果。布局设计通常通过XML实现,可以调整开关的背景、文字颜色...

    android自定义通用PopupWindow

    在Android开发中,`PopupWindow` 是一个非常实用的组件,它允许我们创建弹出式窗口,用于显示一些临时信息或者交互操作。本教程将详细讲解如何封装一个通用的`PopupWindow`,以便在项目中复用,降低代码冗余,提高...

    android自定义流星和自定义顶部导航

    在Android开发中,自定义视图(Custom View)是一种常见的技术,它允许开发者根据特定需求创建独特的用户界面元素。在这个实例中,我们将深入探讨如何实现“自定义流星”和“自定义顶部导航”。这两个特性可以极大地...

    android自定义loading图片

    在Android应用开发中,自定义loading图片是一种常见的需求,它能提供给用户更友好的交互体验,尤其是在数据加载、网络请求或复杂计算时。自定义loading不仅能够展示应用的个性化,还能通过动态效果缓解用户的等待...

    android自定义控件源码

    本资源"android自定义控件源码"提供了一套详细的自定义控件实现案例,帮助开发者深入理解自定义控件的工作原理和实现方法。配合文章《Android自定义控件深度解析》(文章地址:...

    Android-BreatheView呼吸灯闪烁效果的自定义View

    通过研究这个开源项目,开发者可以深入理解Android自定义View的工作原理,以及如何实现复杂的动画效果,这对提升Android应用的用户体验具有重要意义。同时,也可以根据实际需求对其进行二次开发,以适应不同场景的...

    android 自定义属性实现 ImageView 透明度渐变效果

    在Android开发中,自定义属性是提升应用独特性和用户体验的重要手段。本教程将详细讲解如何通过自定义属性来实现ImageView的透明度渐变效果。首先,我们从自定义属性的创建开始。 一、创建自定义属性 在Android项目...

Global site tag (gtag.js) - Google Analytics