zoukankan      html  css  js  c++  java
  • 安卓源码分析之设置页面注释某一项

    安卓源码设置页面也是一个内置app,可以直接模块编译后就可以直接adb install ,不用push到指定文件夹安装,修改起来比较方便

    settings源码目录在packages/apps

    settings入口在settings页面

     <activity-alias android:name="Settings"
                    android:label="@string/settings_label_launcher"
                    android:taskAffinity="com.android.settings.root"
                    android:launchMode="singleTask"
                    android:targetActivity=".homepage.SettingsHomepageActivity">
                <intent-filter>
                    <action android:name="android.intent.action.MAIN" />
                    <category android:name="android.intent.category.DEFAULT" />
                    <category android:name="android.intent.category.LAUNCHER" />
                </intent-filter>
                <meta-data android:name="android.app.shortcuts" android:resource="@xml/shortcuts"/>
            </activity-alias>

    里面都是一些静态内部类没有实现,主要实现在SettingsActivity 

    SettingsActivity里面有个方法launchSettingFragment

        @VisibleForTesting
        void launchSettingFragment(String initialFragmentName, Intent intent) {
            if (initialFragmentName != null) {
                setTitleFromIntent(intent);
    
                Bundle initialArguments = intent.getBundleExtra(EXTRA_SHOW_FRAGMENT_ARGUMENTS);
                switchToFragment(initialFragmentName, initialArguments, true,
                        mInitialTitleResId, mInitialTitle);
            } else {
                // Show search icon as up affordance if we are displaying the main Dashboard
                mInitialTitleResId = R.string.dashboard_title;
                switchToFragment(TopLevelSettings.class.getName(), null /* args */, false,
                        mInitialTitleResId, mInitialTitle);
            }
        }

    里面有个参数initialFragmentName就是要跳转的meta,如果这个meta为空就跳到首页,也就是TopLevelSettings.class

    TopLevelSettings.class里面有个方法

        @Override
        protected int getPreferenceScreenResId() {
            return R.xml.top_level_settings;
        }

    这个xml是就在主页面要展示的内容,可以直接注释里面的内容删除某一项

    如果不想要某一个页面出现,直接找到相应的activity注释里面的meta就行

  • 相关阅读:
    leetcode 137
    leetcode 134
    133. Clone Graph
    leetcode 131
    leetcode 130
    mac uwsgi ssl issue handler
    leetcode 85 Maximal Rectangle golang
    leetcode 84 golang
    leetcode 61
    C# 后台实现一次上传多个文件
  • 原文地址:https://www.cnblogs.com/Ocean123123/p/14884978.html
Copyright © 2011-2022 走看看