Android N隐藏Settings的菜单
2018-03-07 15:58
537 查看
隐藏一个一级菜单
我们只需要修改AndroidManifest.xml即可这里以Sound为例子,我们先找到SoundSettingsActivity定义的位置
<activity android:name="Settings$SoundSettingsActivity" android:label="@string/sound_settings" android:icon="@drawable/ic_settings_sound" android:taskAffinity="" android:exported="true"> ...... <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.VOICE_LAUNCH" /> <category android:name="com.android.settings.SHORTCUT" /> </intent-filter> <!-- Settings就是根据这里控制是否在一级菜单显示,以及定义优先级,越大优先级越高,菜单越靠前。 <intent-filter android:priority="7"> <action android:name="com.android.settings.action.SETTINGS" /> </intent-filter>--> ...... </activity>
隐藏一个二级菜单
一般隐藏一个二级菜单找到Preferences对应的xml即可这里以Display -> screen server为例子
public class DisplaySettings extends SettingsPreferenceFragment implements Preference.OnPreferenceChangeListener, Indexable { private static final String TAG = "DisplaySettings"; ...... @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); final Activity activity = getActivity(); final ContentResolver resolver = activity.getContentResolver(); //这里告诉我们用的是哪个xml addPreferencesFromResource(R.xml.display_settings); ...... } }
display_settings.xml
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" xmlns:settings="http://schemas.android.com/apk/res/com.android.settings" android:title="@string/display_settings" settings:keywords="@string/keywords_display"> ...... <!-- 注释掉这里就不会显示screensaver这个菜单项 <PreferenceScreen android:key="screensaver" android:title="@string/screensaver_settings_title" android:fragment="com.android.settings.DreamSettings" /> --> ...... </PreferenceScreen>
以上可见,Android在Settings的设计上还是倾向于可配置,基本不需要修改代码,即可完成隐藏(添加)的需求。但是并不是绝对的不需要修改代码,有些时候因为隐藏的原因,会出现NullPointException,这时还是需要修改代码的。
走过路过,点个赞哟。
相关文章推荐
- Android隐藏菜单修改usb模式
- android一个向上滑动显示菜单,向下滑动隐藏菜单实现
- Android Title标题栏的修改(隐藏,菜单)
- Android界面设计(左侧隐藏菜单右边显示content)demo
- [Android实例] Android界面设计(左侧隐藏菜单右边显示content)demo
- android fragment向action bar添加菜单处理,隐藏等
- Android 在Fragment或activity中显示与隐藏Menu的菜单
- 【Android开发】 物理Menu 呼出 ActionBar中隐藏菜单的实现方式
- Android上实现各种风格的隐藏菜单,比如左右滑动菜单、上下滑动显示隐藏菜单
- Android 7.0 settings中添加新菜单
- Android界面设计(APP设计趋势 左侧隐藏菜单右边显示content)
- android开发:mx2隐藏虚拟菜单
- android 下拉筛选菜单 view的显示和隐藏动画
- Android动画开发——Animation显示隐藏菜单效果
- Android 7.0 settings中添加/删除菜单
- android menu菜单的动态隐藏
- 主流移动应用开发框架(1)——实现左右滑隐藏菜单的开源框架AndroidResideMenu二次开发
- android 实现点击listview 空白地方隐藏菜单
- Android隐藏虚拟菜单(虚拟按钮导航栏)
- Android界面设计(左侧隐藏菜单右边显示content)demo