Android 13 移除下拉栏中的设置入口

2024-01-10 11:20

本文主要是介绍Android 13 移除下拉栏中的设置入口,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

介绍

因为当前项目的设置已被加密,客户不希望通过下拉窗口的设置图标进入设置,决定去掉该图标。

效果展示

分析

这里首先想到在SystemUI寻找这个图标的资源文件,找到资源文件后寻找对应控件调用的地方,根据id寻找控件代码即可。

修改

首先找到了对应的资源文件

路径:vendor/mediatek/proprietary/packages/apps/SystemUI/res/drawable/ic_settings.xml

通过搜索我们发现是在如下路径调用,这里我按钮是在容器中的,我们直接搜索容器ID的绑定代码。

路径:vendor/mediatek/proprietary/packages/apps/SystemUI/res-keyguard/layout/footer_actions.xml

        <com.android.systemui.statusbar.AlphaOptimizedFrameLayoutandroid:id="@+id/settings_button_container"android:layout_width="@dimen/qs_footer_action_button_size"android:layout_height="@dimen/qs_footer_action_button_size"android:background="@drawable/qs_footer_action_circle"android:clipChildren="false"android:clipToPadding="false"><com.android.systemui.statusbar.phone.SettingsButtonandroid:id="@+id/settings_button"android:layout_width="@dimen/qs_footer_icon_size"android:layout_height="@dimen/qs_footer_icon_size"android:layout_gravity="center"android:background="@android:color/transparent"android:focusable="false"android:clickable="false"android:importantForAccessibility="yes"android:contentDescription="@string/accessibility_quick_settings_settings"android:scaleType="centerInside"android:src="@drawable/ic_settings"android:tint="?android:attr/textColorPrimary" /></com.android.systemui.statusbar.AlphaOptimizedFrameLayout>

控件是在onFinishInflate中完成绑定的,接着往下看,在updateVisibilities中更新了控件的显示状态,那只需在最后设置显示状态为GONE即可,代码如下

路径:vendor/mediatek/proprietary/packages/apps/SystemUI/src/com/android/systemui/qs/FooterActionsView.kt

    override fun onFinishInflate() {super.onFinishInflate()settingsContainer = findViewById(R.id.settings_button_container)multiUserSwitch = findViewById(R.id.multi_user_switch)multiUserAvatar = multiUserSwitch.findViewById(R.id.multi_user_avatar)// RenderThread is doing more harm than good when touching the header (to expand quick// settings), so disable it for this viewif (settingsContainer.background is RippleDrawable) {(settingsContainer.background as RippleDrawable).setForceSoftware(true)}importantForAccessibility = View.IMPORTANT_FOR_ACCESSIBILITY_YES}private fun updateVisibilities(multiUserEnabled: Boolean) {settingsContainer.visibility = if (qsDisabled) GONE else VISIBLEmultiUserSwitch.visibility = if (multiUserEnabled) VISIBLE else GONEval isDemo = UserManager.isDeviceInDemoMode(context)//*/soda water.20240109 Remove the drop-down Settings entrysettingsContainer.visibility = GONE/*settingsContainer.visibility = if (isDemo) INVISIBLE else VISIBLE*/}

这篇关于Android 13 移除下拉栏中的设置入口的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/590622

相关文章

Feign Client超时时间设置不生效的解决方法

《FeignClient超时时间设置不生效的解决方法》这篇文章主要为大家详细介绍了FeignClient超时时间设置不生效的原因与解决方法,具有一定的的参考价值,希望对大家有一定的帮助... 在使用Feign Client时,可以通过两种方式来设置超时时间:1.针对整个Feign Client设置超时时间

Android中Dialog的使用详解

《Android中Dialog的使用详解》Dialog(对话框)是Android中常用的UI组件,用于临时显示重要信息或获取用户输入,本文给大家介绍Android中Dialog的使用,感兴趣的朋友一起... 目录android中Dialog的使用详解1. 基本Dialog类型1.1 AlertDialog(

PyCharm如何设置新建文件默认为LF换行符

《PyCharm如何设置新建文件默认为LF换行符》:本文主要介绍PyCharm如何设置新建文件默认为LF换行符问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录PyCharm设置新建文件默认为LF换行符设置换行符修改换行符总结PyCharm设置新建文件默认为LF

Android Kotlin 高阶函数详解及其在协程中的应用小结

《AndroidKotlin高阶函数详解及其在协程中的应用小结》高阶函数是Kotlin中的一个重要特性,它能够将函数作为一等公民(First-ClassCitizen),使得代码更加简洁、灵活和可... 目录1. 引言2. 什么是高阶函数?3. 高阶函数的基础用法3.1 传递函数作为参数3.2 Lambda

Linux上设置Ollama服务配置(常用环境变量)

《Linux上设置Ollama服务配置(常用环境变量)》本文主要介绍了Linux上设置Ollama服务配置(常用环境变量),Ollama提供了多种环境变量供配置,如调试模式、模型目录等,下面就来介绍一... 目录在 linux 上设置环境变量配置 OllamPOgxSRJfa手动安装安装特定版本查看日志在

Android自定义Scrollbar的两种实现方式

《Android自定义Scrollbar的两种实现方式》本文介绍两种实现自定义滚动条的方法,分别通过ItemDecoration方案和独立View方案实现滚动条定制化,文章通过代码示例讲解的非常详细,... 目录方案一:ItemDecoration实现(推荐用于RecyclerView)实现原理完整代码实现

Android App安装列表获取方法(实践方案)

《AndroidApp安装列表获取方法(实践方案)》文章介绍了Android11及以上版本获取应用列表的方案调整,包括权限配置、白名单配置和action配置三种方式,并提供了相应的Java和Kotl... 目录前言实现方案         方案概述一、 androidManifest 三种配置方式

Ubuntu中Nginx虚拟主机设置的项目实践

《Ubuntu中Nginx虚拟主机设置的项目实践》通过配置虚拟主机,可以在同一台服务器上运行多个独立的网站,本文主要介绍了Ubuntu中Nginx虚拟主机设置的项目实践,具有一定的参考价值,感兴趣的可... 目录简介安装 Nginx创建虚拟主机1. 创建网站目录2. 创建默认索引文件3. 配置 Nginx4

Android WebView无法加载H5页面的常见问题和解决方法

《AndroidWebView无法加载H5页面的常见问题和解决方法》AndroidWebView是一种视图组件,使得Android应用能够显示网页内容,它基于Chromium,具备现代浏览器的许多功... 目录1. WebView 简介2. 常见问题3. 网络权限设置4. 启用 JavaScript5. D

Android如何获取当前CPU频率和占用率

《Android如何获取当前CPU频率和占用率》最近在优化App的性能,需要获取当前CPU视频频率和占用率,所以本文小编就来和大家总结一下如何在Android中获取当前CPU频率和占用率吧... 最近在优化 App 的性能,需要获取当前 CPU视频频率和占用率,通过查询资料,大致思路如下:目前没有标准的