5.0以前的老版本,官方提供的途徑是使用appcompat v7-21 support庫。v7的意思是支持Android v7 (2.1)及以上的老版Android,21是appcompat這個庫的版本。Google在文檔裏也常常直接叫作appcompat v21,不要混淆。
但出於實際效果考慮,儘可能在Android 4.0以上使用這個庫。4.0如下雖然能用,不少控件的外觀(如checkbox)仍是老樣子,改不了的。反正如今4.0+已經佔到百分之八九十的份額了。
使用appcompat v21時有幾點注意事項:html
activity必須從appcompat提供的ActionBarActivity派生android
必須使用appcompat提供的Theme.AppCompat主題(或從其派生)git
但appcompat v21目前支持更改外觀的控件還比較有限,只包括:github
新的Toolbarapp
EditTexthtm
Spinnerblog
CheckBox文檔
RadioButtonget
Switch (使用android.support.v7.widget.SwitchCompat)it
CheckedTextView
也就是說像普通按鈕這種東西就仍是老樣子。要想用到Material Design風格的按鈕,目前暫時只能本身實現,或者用第三方的方案,例如keithellis/MaterialWidget · GitHub。
參考:
chris.banes.me/2014/10/
Material Design Everywhere: Using AppCompat 21注意在你弄清楚ActionBar和新的ToolBar的區別以前,不要從上面這篇blog裏照抄Theme。一旦指定了<item name="windowActionBar">false</item>,你的activity就沒有缺省的ActionBar了。