Android 的全新的 Play Widget

本文介绍了一个名为ViewSpreadTranslationController的项目,该项目提供了一种简单的方法来实现Android平台上的视图扩散切换动画效果。文章提供了详细的使用示例,包括如何创建动画、设置动画参数以及如何在不同Activity或View间应用该动画。

ViewSpreadTranslationController

简介:用最简单的方式来实现 Android 视图扩散切换效果~
更多: 作者    提 Bug   
标签:
animation- translation- 视图切换动画-

Android 视图扩散切换控制器

More simple to create View Translation Animation.

API compatible with Android 4.0+

Preview


ViewSpreadTranslationController ViewSpreadTranslationController ViewSpreadTranslationController ViewSpreadTranslationController


Usage

java

 helper = new BaseViewHelper
                .Builder(SecondActivity.this)
                //.setEndView()//如果是两个切换的视图  这里设定最终显示的视图
                .setTranslationView(v)//设置过渡视图
                .isFullWindow(true)//是否全屏显示
                .isShowTransition(true)//是否显示过渡动画
                .setDimColor(Color.WHITE)//遮罩颜色
                .setDimAlpha(200)//遮罩透明度
                //.setTranslationX(0)//x 轴平移
                //.setRotation(360)//旋转
                //.setScaleX(0)//x 轴缩放
                //.setScaleY(0)//y 轴缩放
                //.setTranslationY(0)//y 轴平移
                //.setDuration(800)//过渡时长
                //.setInterpolator(new AccelerateDecelerateInterpolator())//设置插值器
                //设置监听
//                .setOnAnimationListener(new BaseViewHelper.OnAnimationListener() {
//                    @Override
//                    public void onAnimationStartIn() {
//                        Log.e("TAG","onAnimationStartIn");
//                    }
//
//                    @Override
//                    public void onAnimationEndIn() {
//                        Log.e("TAG","onAnimationEndIn");
//                    }
//
//                    @Override
//                    public void onAnimationStartOut() {
//                        Log.e("TAG","onAnimationStartOut");
//                    }
//
//                    @Override
//                    public void onAnimationEndOut() {
//                        Log.e("TAG","onAnimationEndOut");
//                    }
//                })
                .create();//开始动画

More use


A(Activity) -->B(Activity)

A(Activity):

 new BaseViewHelper
                .Builder(MainActivity.this, view)
                .startActivity(intent);

B(Activity):

helper = new BaseViewHelper
                .Builder(SecondActivity.this)
                .isFullWindow(true)//是否全屏显示
                .isShowTransition(true)//是否显示过渡动画
                .setDimColor(Color.WHITE)//遮罩颜色
                .setDimAlpha(200)//遮罩透明度
                .create();//开始动画

    @Override
    public void onBackPressed() {
        if (helper!=null && helper.isShowing()){
            helper.backActivity(this);
        }else {
            super.onBackPressed();
        }
    }

A(View) -->B(View)

Activity:

            View v = View.inflate(this,R.layout.layout_second,null);
            //显示在当前页面跳转
            helper = new BaseViewHelper.Builder(this,view)
                    .setEndView(v)
                    .create();


    @Override
    public void onBackPressed() {
        if (helper!=null && helper.isShowing()){
            helper.back();
        }else {
            super.onBackPressed();
        }
    }

About me


An Android Developer in ZhengZhou.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值