Android 7.1 系统Setting界面增加返回机制

您所在的位置:网站首页 返回按键设置 Android 7.1 系统Setting界面增加返回机制

Android 7.1 系统Setting界面增加返回机制

2023-09-03 21:05| 来源: 网络整理| 查看: 265

Android系统在设置了隐藏状态栏和虚拟按键之后,进入Setting界面,没有鼠标的话就无法返回了。这里我们通过修改源码,

实现返回到桌面的功能。具体代码路径如下:

packages\apps\Settings\src\com\android\settings\SettingsActivity.java

把源码

 if (!mIsShowingDashboard) {                 mDisplaySearch = false;                 // UP will be shown only if it is a sub settings                 if (mIsShortcut) {                     mDisplayHomeAsUpEnabled = isSubSettings;                 } else if (isSubSettings) {                     mDisplayHomeAsUpEnabled = true;                 } else {                     mDisplayHomeAsUpEnabled = false;                 }                 setTitleFromIntent(intent);

                Bundle initialArguments = intent.getBundleExtra(EXTRA_SHOW_FRAGMENT_ARGUMENTS);                 switchToFragment(initialFragmentName, initialArguments, true, false,                         mInitialTitleResId, mInitialTitle, false);             } else {                 // No UP affordance if we are displaying the main Dashboard                 mDisplayHomeAsUpEnabled = false;                 // Show Search affordance                 mDisplaySearch = true;                 mInitialTitleResId = R.string.dashboard_title;

                // add argument to indicate which settings tab should be initially selected                 final Bundle args = new Bundle();                 final String extraName = DashboardContainerFragment.EXTRA_SELECT_SETTINGS_TAB;                 args.putString(extraName, intent.getStringExtra(extraName));

                switchToFragment(DashboardContainerFragment.class.getName(), args, false, false,                         mInitialTitleResId, mInitialTitle, false);             }

   中的mDisplayHomeAsUpEnabled = false;修改为mDisplayHomeAsUpEnabled = true;即可实现。

   修改源码frameworks\base\packages\SettingsLib\src\com\android\settingslib\drawer\SettingsDrawerActivity.java

  在源码:

   mUserManager = UserManager.get(this);         if (DEBUG_TIMING) Log.d(TAG, "onCreate took " + (System.currentTimeMillis() - startTime)                 + " ms");

    后面加上如下代码:

    toolbar.setNavigationOnClickListener(new View.OnClickListener() {             @Override             public void onClick(View v) {                 finish();;                         }         });

从新编译系统即可。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3