22
33import android .content .Context ;
44import android .content .Intent ;
5+ import android .os .Build ;
56import android .os .Bundle ;
7+ import android .support .v4 .app .ActivityOptionsCompat ;
68import android .view .View ;
9+ import android .widget .ImageView ;
710import android .widget .TextView ;
811
912import com .blankj .androidutilcode .Config ;
1215import com .blankj .androidutilcode .core .image .ImageActivity ;
1316import com .blankj .utilcode .util .ActivityUtils ;
1417
18+ import java .util .Random ;
19+
1520/**
1621 * <pre>
1722 * author: Blankj
2227 */
2328public class ActivityActivity extends BaseBackActivity {
2429
25- View viewSharedElement ;
30+ ImageView viewSharedElement ;
31+ Random random = new Random ();
2632
2733 public static void start (Context context ) {
2834 Intent starter = new Intent (context , ActivityActivity .class );
@@ -43,9 +49,12 @@ public int bindLayout() {
4349 @ Override
4450 public void initView (Bundle savedInstanceState , View view ) {
4551 getToolBar ().setTitle (getString (R .string .demo_activity ));
46- viewSharedElement = findViewById (R .id .view_shared_element );
47- findViewById (R .id .btn_start_image_activity ).setOnClickListener (this );
52+ viewSharedElement = (ImageView ) findViewById (R .id .view_shared_element );
53+ findViewById (R .id .btn_start_activity_cls ).setOnClickListener (this );
54+ findViewById (R .id .btn_start_activity_cls_opt ).setOnClickListener (this );
55+ findViewById (R .id .btn_start_activity_cls_anim ).setOnClickListener (this );
4856 findViewById (R .id .btn_shared_element ).setOnClickListener (this );
57+ findViewById (R .id .btn_start_home_activity ).setOnClickListener (this );
4958 findViewById (R .id .btn_finish_all_activity ).setOnClickListener (this );
5059 TextView tvAboutActivity = (TextView ) findViewById (R .id .tv_about_activity );
5160 tvAboutActivity .setText ("Is ImageActivity Exists: " + ActivityUtils .isActivityExists (Config .PKG , ImageActivity .class .getName ())
@@ -62,15 +71,51 @@ public void doBusiness() {
6271 @ Override
6372 public void onWidgetClick (View view ) {
6473 switch (view .getId ()) {
65- case R .id .btn_start_image_activity :
66- ActivityUtils .startActivity (Config .PKG , ImageActivity .class .getName ());
74+ case R .id .btn_start_activity_cls :
75+ ActivityUtils .startActivity (SharedElementActivityActivity .class );
76+ break ;
77+ case R .id .btn_start_activity_cls_opt :
78+ ActivityUtils .startActivity (SharedElementActivityActivity .class ,
79+ getOption (3 ));
80+ break ;
81+ case R .id .btn_start_activity_cls_anim :
82+ ActivityUtils .startActivity (SharedElementActivityActivity .class ,
83+ R .anim .fade_in_1000 , R .anim .fade_out_1000 );
6784 break ;
6885 case R .id .btn_shared_element :
69- ActivityUtils .startActivity (this , SharedElementActivityActivity .class , viewSharedElement );
86+ ActivityUtils .startActivity (this , SharedElementActivityActivity .class ,
87+ viewSharedElement );
88+ break ;
89+ case R .id .btn_start_home_activity :
90+ ActivityUtils .startHomeActivity ();
7091 break ;
7192 case R .id .btn_finish_all_activity :
7293 ActivityUtils .finishAllActivities ();
7394 break ;
7495 }
7596 }
97+
98+ private Bundle getOption (int type ) {
99+ switch (type ) {
100+ case 3 :
101+ return ActivityOptionsCompat .makeThumbnailScaleUpAnimation (viewSharedElement ,
102+ viewSharedElement .getDrawingCache (),
103+ viewSharedElement .getWidth () / 2 ,
104+ viewSharedElement .getHeight () / 2 ).toBundle ();
105+ case 2 :
106+ return ActivityOptionsCompat .makeScaleUpAnimation (viewSharedElement ,
107+ viewSharedElement .getWidth () / 2 , viewSharedElement .getHeight () / 2 ,
108+ 0 , 0 ).toBundle ();
109+ case 1 :
110+ if (Build .VERSION .SDK_INT >= Build .VERSION_CODES .LOLLIPOP ) {
111+ return ActivityOptionsCompat .makeSceneTransitionAnimation (this ,
112+ viewSharedElement ,
113+ viewSharedElement .getTransitionName ()).toBundle ();
114+ }
115+ default :
116+ return ActivityOptionsCompat .makeCustomAnimation (this ,
117+ R .anim .slide_in_right_1000 ,
118+ R .anim .slide_out_left_1000 ).toBundle ();
119+ }
120+ }
76121}
0 commit comments