轉載請註明出處:http://blog.csdn.net/bbld_/article/details/40400343html
翻譯自:http://developer.android.com/training/material/get-started.htmljava
要建立materialdesign的app,咱們依照例如如下的幾個步驟:android
1. 回想material design的規範。app
2. 在app中使用material主題樣式。框架
3. 尾隨material design準則去建立你的佈局。ide
4. 在你的view控件指定elevation(高度,可以使控件投影的仰角變化)屬性來投射陰影。佈局
5. 使用系統的控件來設計列表和卡片。post
6. 在你的app中使用本身定義動畫。性能
保持向後兼容動畫
你可以在你的app中加入不少material design的功能特性。同一時候對Android5.0以前的版本號保持兼容。要得到不少其它這方面的信息請參看保持程序的兼性(MaintainingCompatibility)。
採用material design更新你的app
要更新現有的app去包括體現material design,(你應該)尾隨materialdesign的規範指導去更新你的佈局。另外。還要確保結合深刻、觸摸反饋和動畫。
採用material design建立新的app
假設你要經過materialdesign建立一個全新的app,material design的規範指導爲你提供了一個緊密結合的設計框架。在Android框架設計和你的應用開發中遵循這些指導並使用新的功能特性。
使用Material主題
在你的app中使用material主題。(你應該)繼承指定的主題:android:Theme.Material。
<!-- res/values/styles.xml --> <resources> <!-- your theme inherits from the material theme --> <style name="AppTheme" parent="android:Theme.Material"> <!-- theme customizations --> </style> </resources>
該material主題提供了已經更新的系統控件使得讓你可以去設置它們(控件)的調色板和觸摸反饋的默認動畫和activity的過渡動畫效果。獲取不少其它的細節。請參看Using the Material Theme [Android Material Design-Using the Material Theme(使用Material主題)-(二)]。
設計你的佈局
除了使用或定製material主題,你的佈局相同應該符合materialdesign的規範指導。 當你設計佈局時。需要特別注意一下幾點:
l 基線網格
l 關鍵的邊
l 間隔
l 觸摸目標的大小
l 佈局結構
在你控件中指定elevation (屬性)
控件能夠投射陰影,此外elevation屬性值決定了一個view控件的影子和它繪製順序的大小。要設置一個view控件的elevation屬性。能夠在佈局中使用android:elevation屬性去設置。
<TextView android:id="@+id/my_textview" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/next" android:background="@color/white" android:elevation="5dp" />
新的translationZ屬性可以讓你建立反映在暫時更改view控件levation屬性時的動畫效果。
Elevation屬性改變多是實用的當響應觸摸手勢時。
不少其它詳情。請參看Defining Shadows and Clipping Views(定義陰影和裁剪視圖)。
建立列表和卡片(控件)
RecyclerView是一個支持不一樣的佈局類型同一時候提升了顯示動態視圖性能的加強版ListView。
CardView是一個卡片視圖,可以在卡片內顯示信息。
可以使用如下的方式建立CardView。
<android.support.v7.widget.CardView android:id="@+id/card_view" android:layout_width="200dp" android:layout_height="200dp" card_view:cardCornerRadius="3dp"> ... </android.support.v7.widget.CardView>
不少其它的信息,參看Creating Lists and Cards(建立列表和卡片)。
本身定義你的動畫
Android 5.0(API級別21)包括不少新的API使得你可以在app中去建立本身定義的動畫。好比,你可以啓用activity的過渡動畫和定義activity的退出動畫:
public class MyActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // enable transitions getWindow().requestFeature(Window.FEATURE_CONTENT_TRANSITIONS); setContentView(R.layout.activity_my); } public void onSomeButtonClicked(View view) { getWindow().setExitTransition(new Explode()); Intent intent = new Intent(this, MyOtherActivity.class); startActivity(intent, ActivityOptions .makeSceneTransitionAnimation(this).toBundle()); } }
當你從這個activity跳轉到還有一個activity時,退出過渡動畫是激活的。
要了解不少其它關於新動畫的API,請參看Defining Custom Animations(本身定義動畫)。