关于ActionBar的向下兼容
1. Create a blank Android Project
創(chuàng)建一個空的Android項目。
a. 導入ActionBarCompat工程。
ActionBarCompat的source code位置是:<Android SDK目錄>/extras/android/support/v7/appcompat‘
這樣我們就得到一個名叫android-support-v7-appcompat 的library project
b. 接著在自己新建的project點擊右鍵->選擇Properties->選擇Android選項
點Add, 然后選擇 android-support-v7-appcompat
3. Update Style Resources
剛才說了ActionBarCompat在使用中會調(diào)用一些資源文件,尤其是基于Theme.AppCompat的主題(Theme)用來規(guī)范 Action Bar的顯示。如果使用Action Bar的Activity沒有使用基于Theme.AppCompat的主題,程序就不知道該如何配置Action Bar的顯示,就會報錯導致程序退出。
在AndroidManifest中講Application的 android:theme屬性設置為Theme.AppCompat系列Theme。
<application android:label="@string/app_name" android:icon="@drawable/ic_launcher" android:theme="@style/Theme.AppCompat.Light">如果你在使用自定義的Theme,則該Theme的parent應設置為Theme.AppCompat系列Theme.
<!-- Application theme. --> <style name="AppTheme" parent="@style/Theme.AppCompat.Light"> <item name="android:windowNoTitle">true</item> <item name="android:windowBackground">@color/global_main_bg</item> </style>4. Extend ActionBarActivity
當要在Activity中使用ActionBar,并要求兼容Android 2.1~3.0之間的系統(tǒng)時,我們不能像往常那樣extend Activity,而應extend ActionBarActivity(原因如上所屬,Android 3.0以前的系統(tǒng)中Activity API里是沒有ActionBar接口的 自然也就無法調(diào)用。為了向下兼容,必須使用ActionBarActivity)。
5. 修改menu/main.xml (也就是Action Bar中的Action Items)
你的project中會有一個默認的main.xml,為了向Action Bar中添加幾個功能按鈕(也就是Action Items),我們需要對menu/main.xml進行些修改:
在root element中添加一個attribute
添加新的item項
如下:
<menu Action Items廣泛使用的一些icon,你可以從Download the Action Bar Icon Pack下載到。xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:android="http://schemas.android.com/apk/res/android"> <item android:id="@+id/action_settings" android:title="@string/action_settings" android:orderInCategory="100" app:showAsAction="always" /> <item android:id="@+id/action_search" android:title="@string/action_search" android:orderInCategory="1" android:icon="@drawable/action_search" app:showAsAction="always" /> </menu> Action Items廣泛使用的一些icon,你可以從Download the Action Bar Icon Pack下載到。?
轉載于:https://www.cnblogs.com/zhujiabin/p/4551670.html
總結
以上是生活随笔為你收集整理的关于ActionBar的向下兼容的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 获取当前时间日期并格式化--JS
- 下一篇: 004-流程控制和类型转换