5.0新特性转场动画的实现

Posted 和平world

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了5.0新特性转场动画的实现相关的知识,希望对你有一定的参考价值。

本篇主要解决的问题是:5.0转场动画的实现,用Picasso进行网络图片的加载。
用到了SnackBar、AppBarLayout结合CollapsingToolbarLayout进行滑动的ToolBar设计、NestedScrollView滑动控件更好的解决滑动过程中出现的各种问题。

转场动画主要用到的方法就是下面

    public static void navigate(AppCompatActivity activity, View transitionImage, ViewModel viewModel) 
        Intent intent = new Intent(activity, DetailActivity.class);
        intent.putExtra(EXTRA_IMAGE, viewModel.getImage());
        //intent.putExtra(EXTRA_TITLE, viewModel.getText());
        //Log.e("DetailActivity:",viewModel.getImage()+"");
        ActivityOptionsCompat options = ActivityOptionsCompat.makeSceneTransitionAnimation(activity, transitionImage, EXTRA_IMAGE);
        ActivityCompat.startActivity(activity, intent, options.toBundle());
    

下面是初始化ActivityTransition的动画

    private void initActivityTransitions() 
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) 
            Slide transition = new Slide();
            transition.excludeTarget(android.R.id.statusBarBackground, true);
            getWindow().setEnterTransition(transition);
            getWindow().setReturnTransition(transition);
        
    

下面这个方法是用Paletee萃取图片中颜色 进行改变控件的颜色

  Picasso.with(this).load(getIntent().getStringExtra(EXTRA_IMAGE)).into(image, new Callback() 
            @Override
            public void onSuccess() 
                Bitmap bitmap = ((BitmapDrawable) image.getDrawable()).getBitmap();
                Palette.from(bitmap).generate(new Palette.PaletteAsyncListener() 
                    public void onGenerated(Palette palette) 
                        applyPalette(palette);
                    
                );
            

            @Override
            public void onError() 

            
        );


具体内容移步

我的GitHub项目链接地址 https://github.com/WorldPeaceTogether/MaterialDesign


以上是关于5.0新特性转场动画的实现的主要内容,如果未能解决你的问题,请参考以下文章

Android5.0之Activity的转场动画

swift自定义转场动画(比较有难度)

iOS 开发--转场动画

Vegas怎么设置转场特效中的关键帧动画?

CATransition(转场动画)

android Activity转场动画makeSceneTransitionAnimation