文档章节

LayoutTransition Animation

daveztong
 daveztong
发布于 2014/11/27 20:57
字数 165
阅读 29
收藏 0
package com.example.android.interactivechart;
import android.animation.Animator;
import android.animation.LayoutTransition;
import android.animation.ObjectAnimator;
import android.animation.PropertyValuesHolder;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.LinearLayout;
public class ScaleActivity extends Activity {

    LinearLayout mContainer;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_scale);
        LayoutTransition transition = new LayoutTransition();
        mContainer = (LinearLayout) findViewById(R.id.verticalContainer);
        mContainer.setLayoutTransition(transition);

        // Appearing
        ObjectAnimator appearAnim = ObjectAnimator.ofFloat(null, "rotationY", 90f, 0).setDuration(transition.getDuration(LayoutTransition.APPEARING));
        transition.setAnimator(LayoutTransition.APPEARING, appearAnim);

        // Disappearing
        ObjectAnimator disappearAnim = ObjectAnimator.ofFloat(null, "rotationY", 0f, 90f).setDuration(transition.getDuration(LayoutTransition.DISAPPEARING));
        transition.setAnimator(LayoutTransition.DISAPPEARING, disappearAnim);

        PropertyValuesHolder pvhSlide = PropertyValuesHolder.ofFloat("y",0f);
        PropertyValuesHolder pvhScaleY = PropertyValuesHolder.ofFloat("scaleY", 1f, 0.5f, 1f);
        PropertyValuesHolder pvhScaleX = PropertyValuesHolder.ofFloat("scaleX", 1f, 0.5f, 1f);
        Animator changingAppearingAnim = ObjectAnimator.ofPropertyValuesHolder(this, pvhSlide, pvhScaleY, pvhScaleX);
        changingAppearingAnim.setDuration(transition.getDuration(LayoutTransition.CHANGE_DISAPPEARING));
        transition.setAnimator(LayoutTransition.CHANGE_DISAPPEARING, changingAppearingAnim);
        transition.setAnimator(LayoutTransition.CHANGE_APPEARING, changingAppearingAnim);
    }

    //Add a new button that can remove itself
    public void onAddClick(View v) {
//        PropertyValuesHolder pvhSlide = PropertyValuesHolder.ofFloat("y", 0f, 60f);
//        Animator changingAppearingAnim = ObjectAnimator.ofPropertyValuesHolder(v, pvhSlide).setDuration(2000);
//        changingAppearingAnim.start();

        Button button = new Button(this);
        button.setText("Click To Remove");
        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                mContainer.removeView(v);
            }
        });

        mContainer.addView(button, new LinearLayout.LayoutParams(
                LinearLayout.LayoutParams.MATCH_PARENT,
                LinearLayout.LayoutParams.WRAP_CONTENT));
    }
}

© 著作权归作者所有

下一篇: ios recepies
daveztong
粉丝 4
博文 93
码字总数 21482
作品 0
成都
程序员
私信 提问
LayoutTransition 布局容器动画

首先,在布局容器中添加属性 android:animateLayoutChanges=”true” LayoutTransition 该类用于当前布局容器中有View添加,删除,隐藏,显示的时候定义布局容器自身的动画和View的动画。也就...

Carbenson
2016/08/09
76
0
自定义控件三部曲之动画篇(十二)——animateLayoutChanges与LayoutTransition

前言:生活不只眼前的苟且,还有诗和远方的田野 相关文章: 《Android自定义控件三部曲文章索引》:http://blog.csdn.net/harvic880925/article/details/50995268 前篇给大家讲了LayoutAnima...

harvic880925
2016/03/26
0
0
【Animations】自动动画布局更新(9)

原文 Android提供了预加载的动画,系统每次更改布局时都会运行该动画。您只需在布局中设置一个属性,以通知Android系统为这些布局更改设置动画效果,并为您执行系统默认动画。 提示:如果您想...

lichong951
2018/05/28
0
0
Android属性动画---Property Animation(六)

对于ViewGroups对象布局变化的动画 属性动画系统给ViewGroup对象的动画变化提供了与View对象一样容易动画处理方法。 使用LayoutTransition类在ViewGroup内部处理布局变化的动画。当调用一个V...

长平狐
2012/10/16
200
0
SearchView的基本使用&布局动画

一、SearchView的基本使用 SearchView是android系统中内置的一个搜索框组件,可以很方便在添加在用户界面之上,但是也带来了一些问题,那就是searchview的UI是固定的,定制起来会很麻烦,如果...

IamOkay
2015/06/01
212
0

没有更多内容

加载失败,请刷新页面

加载更多

Vue warn]: Computed property "activeNames" was assigned to but it has no setter.

在使用 vue,element-ui时,如下代码 <template> <el-form :model="numberValidateForm" ref="numberValidateForm"> <el-form-item> <el-tabs v-model="activeNames" @tab-cl......

牧云橙
19分钟前
2
0
重构-改善既有代码的设计-6.2内联函数

6.2内联函数 动机 本书经常以简短的函数表现动作意图,这样会使代码更清晰易读。但有时候你会遇到某些函数,其内部代码和函数名称同样清晰易读。也可能你充够了该函数的内部实现,使其内容和...

还仙
20分钟前
4
0
Less 混入

混合类似于编程语言中的函数。 Mixins 是一组CSS属性,允许我们将一个类的属性嵌套于另一个类,被嵌入的类可以看作是变量,并且包含类名作为其属性,也就是说我们可以用一个类定义样式然后把...

凌兮洛
23分钟前
4
0
频繁FGC的真凶原来是它

频繁FGC的真凶原来是它 上周排查了一个线上问题,主要现象是CPU占用过高,jvm old区占用过高,同时频繁fgc,我简单排查了下就草草收场了,但是过后我对这个问题又进行了复查,发现问题没有那...

每天晒白牙
23分钟前
4
0
简单的树形菜单如何写

业务需求 数据结构中含有图片、名称、children的树形结构,需要展示出每一级的图片名称和图片,找了些树形图的插件,都没有展示大的图片的,一般都是小图标,就自己试着写一个包含图的简单的...

tianyawhl
25分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部