W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
編寫: allenlsy - 原文: https://developer.android.com/training/material/get-started.html
要?jiǎng)?chuàng)建一個(gè) Material Design 應(yīng)用:
你可以添加 Material Design 特性,同時(shí)保持對(duì) Android 5.0 之前版本的兼容。更多信息,請(qǐng)參見維護(hù)兼容性章節(jié)。
要更新現(xiàn)有應(yīng)用,使其使用 Material Design,你需要翻新你的 layout 文件來遵從 Material Design 標(biāo)準(zhǔn),并確保其包含了正確的元素高度,觸摸反饋和動(dòng)畫。
如果你要?jiǎng)?chuàng)建使用 Material Design 的新的應(yīng)用,Material Design 指南提供了一套跨平臺(tái)統(tǒng)一的設(shè)計(jì)。請(qǐng)遵從指南,使用新功能來進(jìn)行 Android 應(yīng)用的設(shè)計(jì)和開發(fā)。
要在應(yīng)用中使用 Material 主題,需要定義一個(gè)繼承于 android:Theme.Material
的 style 文件:
<!-- res/values/styles.xml -->
<resources>
<!-- your theme inherits from the material theme -->
<style name="AppTheme" parent="android:Theme.Material">
<!-- theme customizations -->
</style>
</resources>
Material 主題提供了更新后的系統(tǒng)組件,使你可以設(shè)置調(diào)色板和在觸摸和 Activity 切換時(shí)使用默認(rèn)的動(dòng)畫。更多信息,請(qǐng)參見 Material 主題 章節(jié)。
另外,要應(yīng)用自定義的 Material 主題,你的 layout 應(yīng)該要符合 Material 設(shè)計(jì)規(guī)范。在設(shè)計(jì) Layout 時(shí),尤其要注意一下方面:
視圖可以投射陰影, elevation 值決定了陰影的大小和繪制順序。要設(shè)定 elevation 值,請(qǐng)使用 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
屬性使得你可以設(shè)計(jì)臨時(shí)變更 elevation 的動(dòng)畫。elevation 變化在做觸摸反饋時(shí)很有用。
更多信息,請(qǐng)參見定義陰影和 Clipping 視圖章節(jié)。
RecyclerView 是一個(gè)植入性更強(qiáng)的 ListView,它支持不同的 layout 類型,并可以提升性能。CardView 使得你可以在卡片內(nèi)顯示一部分內(nèi)容,并且和其他應(yīng)用保持外觀一致。以下是一段樣例代碼展示如何在 layout 中添加 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>
更多信息,請(qǐng)參見列表和卡片章節(jié)。
Android 5.0 (API level 21) 包含了新的創(chuàng)建自定義動(dòng)畫 API。比如,你可以在 activity 中定義進(jìn)入和退出 activity 時(shí)的動(dòng)畫。
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());
}
}
當(dāng)你從當(dāng)前 activity 進(jìn)入另一個(gè) activity 時(shí),退出切換動(dòng)畫會(huì)被調(diào)用。
想學(xué)習(xí)更多新的動(dòng)畫 API,參見自定義動(dòng)畫章節(jié))。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: