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);
}