天天看點

android 7.0添加菜單,Android 7.0 settings中添加新菜單

需求:

在設定中,添加一級菜單項,在裝置中加入“按鍵交換”,此項菜單與“顯示”并列

由于android 7.0 settings網上資料還沒有,此需求在高通技術支援的幫助下加上自己的分析才實作(對高通技術支援小夥表示感謝),實作後發現特别簡單,但是實作前一直沒頭緒,希望記下來能對網友有所幫助

隻需實作Activity,寫布局檔案後,在AndroidManifest.xml中配置即可,配置如下

android:label="@string/hardkey_switch"

android:icon="@drawable/a2_icon_hardkey_switch"

android:taskAffinity="">

android:value="com.android.settings.category.device" />

android:value="com.android.settings.HardKey" />

android:value="true" />

其中HarKey.java是一個Activity檔案,直接繼承了Activity

設定下的一級菜單必須要有此intent,SettingsActivity檔案會根據此filter過濾

android:priority="9"加這個屬性不知道是起什麼作用,知道的可以留言

此meta表示 菜單項在 device的分類中

android:value="com.android.settings.category.device" />

表示此檔案是一個Activity

android:value="com.android.settings.HardKey" />

如果是一個fragment,則用

android:value="com.android.settings.DisplaySettings" />

這個屬性也要加,因為其他的菜單項都有(添加新的類似功能時,對比已有功能實作),具體還不知道起什麼作用,有知道的可以留言

android:value="true" />

效果圖

android 7.0添加菜單,Android 7.0 settings中添加新菜單

原圖

android 7.0添加菜單,Android 7.0 settings中添加新菜單

後續将介紹android 7.0 settings源碼流程