Android转场动画——共享元素

个人博客:haichenyi.com。感谢关注

这个东西其实很简单,我这里只是做一个简单的记录。

XML代码如下:





    

    

java代码如下:

/**
 * Author: 海晨忆.
 * Date: 2018/3/29
 * Desc:
 */
public class MainActivity extends AppCompatActivity {

  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    findViewById(R.id.btn).setOnClickListener(new View.OnClickListener() {
      @Override
      public void onClick(View v) {
      //共享元素转场动画,只支持android 5.0,所以加一个判断
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
          startActivity(new Intent(MainActivity.this, Step1Activity.class),
              ActivityOptions.makeSceneTransitionAnimation(MainActivity.this,
                  findViewById(R.id.img), "wang").toBundle());
        } else {
          startActivity(new Intent(MainActivity.this, Step1Activity.class));
        }
      }
    });
  }
}

上面代码,就是一个Button点击跳转。这个共享元素的核型代码,就是一个方法:

ActivityOptions.makeSceneTransitionAnimation(Activity activity,
            View sharedElement, String sharedElementName)

三个参数:

  1. Activity activity:activity对象,这个不用多说了
  2. View sharedElement:共享元素的那个控件
  3. String sharedElementName:共享元素控件的那个transitionName属性的值。前面xml里面的注释讲过要相同,有三个位置用到这个:跳转activity的xml里面,跳转的目标activity的xml里面,再就是这里,跳转的代码这里需要设置。

就这么简单。

你可能感兴趣的:(Android转场动画——共享元素)