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新特性转场动画的实现的主要内容,如果未能解决你的问题,请参考以下文章