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时有几点注意事项:
activity必须从appcompat提供的ActionBarActivity派生
必须使用appcompat提供的Theme.AppCompat主题(或从其派生)
但appcompat v21目前支持更改外观的控件还比较有限,只包括:
新的Toolbar
EditText
Spinner
CheckBox
RadioButton
Switch (使用android.support.v7.widget.SwitchCompat)
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了。