android 11 SystemUI 常见需求 修改

1. 隐藏下拉面板 中的一下 按钮

相关文件:QSFooterImpl.java QSPanel.java

                       qs_footer_impl.xml quick_settings_brightness_dialog.xml

文件简单说明:

下拉面板中的 编辑容器 ,包含了俩个控件,android:id="@android:id/edit" android:id="@+id/build"

android:id="@+id/qs_footer_actions_edit_container"

下拉面板中的编辑按钮 ,点击它 可以用来添加和删除 面板中的快捷功能

android:id="@android:id/edit"

mEdit = findViewById(android.R.id.edit);

编辑容器里面的build文本,当打开开发者选项的时候 ,会显示出来。

android:id="@+id/build"

    private void setBuildText() {
        TextView v = findViewById(R.id.build);
        if (v == null) return;
        if (DevelopmentSettingsEnabler.isDevelopmentSettingsEnabled(mContext)) {
            v.setText(mContext.getString(
                    com.android.internal.R.string.bugreport_status,
                    Build.VERSION.RELEASE_OR_CODENAME,
                    Build.ID));
            v.setVisibility(View.VISIBLE);
        } else {
            v.setVisibility(View.GONE);
        }
    }

下拉面板中 页面指示 下拉快捷功能的个数需要俩页显示的时候 会显示出来

android:id="@+id/footer_page_indicator"

下拉面板中 切换用户按钮

android:id="@+id/multi_user_switch"

下拉面板中 的设置容器,包括了进入设置的快捷按钮 android:id="@+id/settings_button"和 一个系统界面的调节工具android:id="@+id/tuner_icon"(不常用没见到过)

android:id="@+id/settings_button_container"

设置的快捷按钮:

android:id="@+id/settings_button"

mSettingsButton = findViewById(R.id.settings_button);

    private void startSettingsActivity() {      进入设置应用的方法
        mActivityStarter.startActivity(new Intent(android.provider.Settings.ACTION_SETTINGS),
                true /* dismissShade */);
    }

系统界面调节工具 (机器上实际没有看到过)通过字符串的意思 ,不建议消费者使用

android:id="@+id/tuner_icon"

<string name="tuner_warning_title" msgid="7721976098452135267">"并不适合所有用户"</string>
    <string name="tuner_warning" msgid="1861736288458481650">"系统界面调节工具可让您以更多方式调整及定制 Android 界面。在日后推出的版本中,这些实验性功能可能会变更、失效或消失。操作时请务必谨慎。"</string>
    <string name="tuner_persistent_warning" msgid="230466285569307806">"在日后推出的版本中,这些实验性功能可能会变更、失效或消失。操作时请务必谨慎。"</string>

在实际的工作中 :我们只对 编辑快捷图标的按钮 和 设置按钮 进行了隐藏

        mEditContainer.setVisibility(android.os.SystemProperties.getBoolean("ro.config.no_systemui_editbtn",false) || isDemo || !mExpanded ? View.INVISIBLE : View.VISIBLE);
		//modified by dhy..for hiding the settings btn..
        mSettingsButton.setVisibility(android.os.SystemProperties.getBoolean("ro.config.no_systemui_setbtn",false) || isDemo || !mExpanded ? View.INVISIBLE : View.VISIBLE);

QSPanel.java 中添加一个 亮度调节的控件

    protected void addViewsAboveTiles() {
        mBrightnessView = LayoutInflater.from(mContext).inflate(
            R.layout.quick_settings_brightness_dialog, this, false);
        addView(mBrightnessView);
        mBrightnessController = new BrightnessController(getContext(),
                findViewById(R.id.brightness_slider), mBroadcastDispatcher);
    }

  • 7
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值