Material Design +Ran Nachmany
M AT E R I A L D E S I G N
A coherent cross-platform experience
A more flexible design system for Android
A rational approach to visual, interaction, and motion design
Tangible surfaces
Print-like design
Meaningful motion
Adaptive design
Tangible surfaces
Print-like design
Meaningful motion
Adaptive design
Tangible surfaces
Print-like design
Meaningful motion
Adaptive design
Tangible surfaces
Print-like design
Meaningful motion
Adaptive design
Tangible surfaces
Print-like design
Meaningful motion
Adaptive design
1
Constrained depth
Interaction cues (scrolling and pinning)
view.animate().translationZ(…).start();
-
-
But you can do much more with Outline. Say you want an avatar clipped within a circle…
static class OvalOutlineProvider extends ViewOutlineProvider { @Override public void void getOutline getOutline( (View View view view, , Outline Outline outline outline) ) { outline. outline.setOval( setOval(0, 0, view. view.getWidth(), getWidth (), view view. .getHeight()); getHeight ()); } } view. view.setOutlineProvider (new OvalOutlineProvider ());
x
2
Front View
Side View
YES
NO
Bold color
From your Activity
requestWindowFeature(Window.FEATURE_CONTENT_TRANSITIONS);
layout/album_details.xml
Intent intent = ... // setup Intent as usual String transitionName = getString(R.string.transition_album_cover); ActivityOptionsCompat opts = ActivityOptionsCompat .makeSceneTransitionAnimation( activity, // Our starting Activity albumCoverView, // The view which starts the transition transitionName // The transitionName of the view we’re transitioning to ); // Now start the Activity, using our options bundle ActivityCompat.startActivity(activity, intent, opts.toBundle());
-
-
Animator reveal = ViewAnimationUtils.createCircularReveal( viewToReveal, // View to reveal centerX, // mask centre x centerY, // mask centre y startRadius, // mask start radius endRadius); // mask end radius reveal.start();
4 Adaptive design
Toolbar
Toolbar toolbar = findViewById(R.id.my_toolbar); setActionBar(toolbar);
Toolbar (AppCompat)
Toolbar toolbar = findViewById(R.id.my_toolbar); setSupportActionBar(toolbar);
Banesy Top Tip
M AT E R I A L D E S I G N