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了。