android10 systemui隐藏电池图标显示

systemui删掉右上角的电量图标,下拉里面的省电模式和不要的快捷设置

diff --git a/alps/vendor/mediatek/proprietary/packages/apps/SystemUI/res/layout/quick_qs_status_icons.xml b/alps/vendor/mediatek/proprietary/packages/apps/SystemUI/res/layout/quick_qs_status_icons.xml
index 5b7e7e7d59…75670a9d3b 100644
— a/alps/vendor/mediatek/proprietary/packages/apps/SystemUI/res/layout/quick_qs_status_icons.xml
+++ b/alps/vendor/mediatek/proprietary/packages/apps/SystemUI/res/layout/quick_qs_status_icons.xml
@@ -49,6 +49,7 @@

     <com.android.systemui.BatteryMeterView
+        android:visibility="gone"
         android:id="@+id/batteryRemainingIcon"
         android:layout_height="match_parent"
         android:layout_width="wrap_content"
 diff --git a/alps/vendor/mediatek/proprietary/packages/apps/SystemUI/res/layout/system_icons.xml b/alps/vendor/mediatek/proprietary/packages/apps/SystemUI/res/layout/system_icons.xml

index f3b72bf237…886f25f469 100644
— a/alps/vendor/mediatek/proprietary/packages/apps/SystemUI/res/layout/system_icons.xml
+++ b/alps/vendor/mediatek/proprietary/packages/apps/SystemUI/res/layout/system_icons.xml
@@ -30,6 +30,7 @@

     <com.android.systemui.BatteryMeterView android:id="@+id/battery"
+        android:visibility="gone"
         android:layout_height="match_parent"
         android:layout_width="wrap_content"
         android:clipToPadding="false"

diff --git a/alps/vendor/mediatek/proprietary/packages/apps/SystemUI/res/values/config.xml b/alps/vendor/mediatek/proprietary/packages/apps/SystemUI/res/values/config.xml
index 6e6c009dd1…53ebb101e8 100644
— a/alps/vendor/mediatek/proprietary/packages/apps/SystemUI/res/values/config.xml
+++ b/alps/vendor/mediatek/proprietary/packages/apps/SystemUI/res/values/config.xml

@@ -60,7 +60,8 @@
     <bool name="config_showMin3G">false</bool>

     <!-- Show rotation lock toggle in System UI-->
-    <bool name="config_showRotationLock">true</bool>
+   <!--  <bool name="config_showRotationLock">true</bool>-->
+   <bool name="config_showRotationLock">false</bool>

     <!-- Vibration duration for GlowPadView used in SearchPanelView -->
     <integer translatable="false" name="config_vibration_duration">0</integer>
@@ -109,7 +110,7 @@

     <!-- The default tiles to display in QuickSettings -->
     <string name="quick_settings_tiles_default" translatable="false">
-        wifi,bt,dnd,flashlight,rotation,battery,cell,airplane,cast
+        wifi,bt,flashlight,cell,airplane
     </string>

     <!-- The minimum number of tiles to display in QuickSettings -->
@@ -117,7 +118,7 @@

     <!-- Tiles native to System UI. Order should match "quick_settings_tiles_default" -->
     <string name="quick_settings_tiles_stock" translatable="false">
-        wifi,cell,battery,dnd,flashlight,rotation,bt,airplane,location,hotspot,inversion,saver,dark,work,cast,night
+        wifi,cell,flashlight,bt,airplane,location,hotspot,inversion,saver,dark,work,night
     </string>

     <!-- The tiles to display in QuickSettings -->
@@ -125,7 +126,7 @@

     <!-- The tiles to display in QuickSettings in retail mode -->
     <string name="quick_settings_tiles_retail_mode" translatable="false">
-        cell,battery,dnd,flashlight,rotation,location
+        cell,flashlight,location
     </string>

隐藏systemui下拉的快捷设置编辑按钮

diff --git a/alps/vendor/mediatek/proprietary/packages/apps/SystemUI/res/layout/qs_footer_impl.xml b/alps/vendor/mediatek/proprietary/packages/apps/SystemUI/res/layout/qs_footer_impl.xml
index a02962e5e1…20ba9948e1 100644
— a/alps/vendor/mediatek/proprietary/packages/apps/SystemUI/res/layout/qs_footer_impl.xml
+++ b/alps/vendor/mediatek/proprietary/packages/apps/SystemUI/res/layout/qs_footer_impl.xml

@@ -44,6 +44,7 @@
             android:gravity="center_vertical|start" >
             <com.android.systemui.statusbar.AlphaOptimizedImageView
                 android:id="@android:id/edit"
+                android:visibility="gone"
                 android:layout_width="@dimen/qs_footer_action_button_size"
                 android:layout_height="@dimen/qs_footer_action_button_size"
                 android:background="?android:attr/selectableItemBackgroundBorderless"

修改systemUI下拉的宽度

简单的说就是把qs_panel_width和notification_panel_width相关的变量替换成match_parent

diff --git a/alps/vendor/mediatek/proprietary/packages/apps/SystemUI/res/layout/brightness_mirror.xml b/alps/vendor/mediatek/proprietary/packages/apps/SystemUI/res/layout/brightness_mirror.xml
index e3440b53d2..a12e9d7998 100644
--- a/alps/vendor/mediatek/proprietary/packages/apps/SystemUI/res/layout/brightness_mirror.xml
+++ b/alps/vendor/mediatek/proprietary/packages/apps/SystemUI/res/layout/brightness_mirror.xml
@@ -17,7 +17,7 @@
 <FrameLayout
     xmlns:android="http://schemas.android.com/apk/res/android"
     android:id="@+id/brightness_mirror"
-    android:layout_width="@dimen/qs_panel_width"
+    android:layout_width="match_parent"
     android:layout_height="@dimen/brightness_mirror_height"
     android:layout_gravity="@integer/notification_panel_layout_gravity"
     android:visibility="invisible">
diff --git a/alps/vendor/mediatek/proprietary/packages/apps/SystemUI/res/layout/notif_half_shelf.xml b/alps/vendor/mediatek/proprietary/packages/apps/SystemUI/res/layout/notif_half_shelf.xml
index 26c8872313..93bc12989e 100644
--- a/alps/vendor/mediatek/proprietary/packages/apps/SystemUI/res/layout/notif_half_shelf.xml
+++ b/alps/vendor/mediatek/proprietary/packages/apps/SystemUI/res/layout/notif_half_shelf.xml
@@ -27,7 +27,7 @@

     <LinearLayout
         android:id="@+id/half_shelf"
-        android:layout_width="@dimen/qs_panel_width"
+        android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:orientation="vertical"
         android:gravity="bottom"


diff --git a/alps/vendor/mediatek/proprietary/packages/apps/SystemUI/res/layout/status_bar_expanded.xml b/alps/vendor/mediatek/proprietary/packages/apps/SystemUI/res/layout/status_bar_expanded.xml
index 7d403b2435..3619e5e8f2 100644
--- a/alps/vendor/mediatek/proprietary/packages/apps/SystemUI/res/layout/status_bar_expanded.xml
+++ b/alps/vendor/mediatek/proprietary/packages/apps/SystemUI/res/layout/status_bar_expanded.xml
@@ -48,7 +48,7 @@
         <FrameLayout
             android:id="@+id/qs_frame"
             android:layout="@layout/qs_panel"
-            android:layout_width="@dimen/qs_panel_width"
+            android:layout_width="match_parent"
             android:layout_height="match_parent"
             android:layout_gravity="@integer/notification_panel_layout_gravity"
             android:clipToPadding="false"
@@ -58,7 +58,7 @@
         <com.android.systemui.statusbar.notification.stack.NotificationStackScrollLayout
             android:id="@+id/notification_stack_scroller"
             android:layout_marginTop="@dimen/notification_panel_margin_top"
-            android:layout_width="@dimen/notification_panel_width"
+            android:layout_width="match_parent"
             android:layout_height="match_parent"
             android:layout_gravity="@integer/notification_panel_layout_gravity"
             android:layout_marginBottom="@dimen/close_handle_underlap" />


diff --git a/alps/vendor/mediatek/proprietary/packages/apps/SystemUI/src/com/android/systemui/screenshot/GlobalScreenshot.java b/alps/vendor/mediatek/proprietary/packages/apps/SystemUI/src/com/android/systemui/screenshot/GlobalScreenshot.java
index 8a9e7de032..2903f6607c 100644
--- a/alps/vendor/mediatek/proprietary/packages/apps/SystemUI/src/com/android/systemui/screenshot/GlobalScreenshot.java
+++ b/alps/vendor/mediatek/proprietary/packages/apps/SystemUI/src/com/android/systemui/screenshot/GlobalScreenshot.java
@@ -552,7 +552,8 @@ class GlobalScreenshot {
         // determine the optimal preview size
         int panelWidth = 0;
         try {
-            panelWidth = r.getDimensionPixelSize(R.dimen.notification_panel_width);
+            //panelWidth = r.getDimensionPixelSize(R.dimen.notification_panel_width);
+            panelWidth = mDisplayMetrics.widthPixels;
         } catch (Resources.NotFoundException e) {
         }
         if (panelWidth <= 0) {
diff --git a/alps/vendor/mediatek/proprietary/packages/apps/SystemUI/src/com/android/systemui/statusbar/HeadsUpStatusBarView.java b/alps/vendor/mediatek/proprietary/packages/apps/SystemUI/src/com/android/systemui/statusbar/HeadsUpStatusBarView.java
index 3f1ff33437..2faba1962d 100644
--- a/alps/vendor/mediatek/proprietary/packages/apps/SystemUI/src/com/android/systemui/statusbar/HeadsUpStatusBarView.java
+++ b/alps/vendor/mediatek/proprietary/packages/apps/SystemUI/src/com/android/systemui/statusbar/HeadsUpStatusBarView.java
@@ -24,6 +24,7 @@ import android.graphics.Rect;
 import android.os.Bundle;
 import android.os.Parcelable;
 import android.util.AttributeSet;
+import android.util.DisplayMetrics;
 import android.view.DisplayCutout;
 import android.view.View;
 import android.widget.TextView;
@@ -90,7 +91,8 @@ public class HeadsUpStatusBarView extends AlphaOptimizedLinearLayout {
     }

     private void updateMaxWidth() {
-        int maxWidth = getResources().getDimensionPixelSize(R.dimen.qs_panel_width);
+        //int maxWidth = getResources().getDimensionPixelSize(R.dimen.qs_panel_width);
+        int maxWidth = getResources().getDisplayMetrics().widthPixels;
         if (maxWidth != mMaxWidth) {
             // maxWidth doesn't work with fill_parent, let's manually make it at most as big as the
             // notification panel


--- a/alps/vendor/mediatek/proprietary/packages/apps/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelView.java
+++ b/alps/vendor/mediatek/proprietary/packages/apps/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelView.java
@@ -43,6 +43,7 @@ import android.os.PowerManager;
 import android.util.AttributeSet;
 import android.util.Log;
 import android.util.MathUtils;
+import android.util.DisplayMetrics;
 import android.view.LayoutInflater;
 import android.view.MotionEvent;
 import android.view.VelocityTracker;
@@ -472,7 +473,9 @@ public class NotificationPanelView extends PanelView implements

     public void updateResources() {
         Resources res = getResources();
-        int qsWidth = res.getDimensionPixelSize(R.dimen.qs_panel_width);
+        DisplayMetrics displayMetrics = res.getDisplayMetrics();
+        //int qsWidth = res.getDimensionPixelSize(R.dimen.qs_panel_width);
+        int qsWidth = displayMetrics.widthPixels;
         int panelGravity = getResources().getInteger(R.integer.notification_panel_layout_gravity);
         FrameLayout.LayoutParams lp =
                 (FrameLayout.LayoutParams) mQsFrame.getLayoutParams();
@@ -482,7 +485,8 @@ public class NotificationPanelView extends PanelView implements
             mQsFrame.setLayoutParams(lp);
         }

-        int panelWidth = res.getDimensionPixelSize(R.dimen.notification_panel_width);
+        //int panelWidth = res.getDimensionPixelSize(R.dimen.notification_panel_width);
+        int panelWidth = displayMetrics.widthPixels;

--- a/alps/vendor/mediatek/proprietary/packages/apps/SystemUI/src/com/android/systemui/statusbar/phone/NotificationsQuickSettingsContainer.java
+++ b/alps/vendor/mediatek/proprietary/packages/apps/SystemUI/src/com/android/systemui/statusbar/phone/NotificationsQuickSettingsContainer.java
@@ -21,6 +21,7 @@ import android.content.Context;
 import android.content.res.Configuration;
 import android.graphics.Canvas;
 import android.util.AttributeSet;
+import android.util.DisplayMetrics;
 import android.view.View;
 import android.view.ViewStub;
 import android.view.ViewStub.OnInflateListener;
@@ -95,7 +96,8 @@ public class NotificationsQuickSettingsContainer extends FrameLayout
      */
     private void reloadWidth(View view, @DimenRes int width) {
         LayoutParams params = (LayoutParams) view.getLayoutParams();
-        params.width = getResources().getDimensionPixelSize(width);
+        //params.width = getResources().getDimensionPixelSize(width);
+        params.width = getResources().getDisplayMetrics().widthPixels;
         view.setLayoutParams(params);
     }


--- a/alps/vendor/mediatek/proprietary/packages/apps/SystemUI/src/com/android/systemui/statusbar/policy/BrightnessMirrorController.java
+++ b/alps/vendor/mediatek/proprietary/packages/apps/SystemUI/src/com/android/systemui/statusbar/policy/BrightnessMirrorController.java
@@ -19,6 +19,7 @@ package com.android.systemui.statusbar.policy;
 import android.annotation.NonNull;
 import android.content.res.Resources;
 import android.util.ArraySet;
+import android.util.DisplayMetrics;
 import android.view.LayoutInflater;
 import android.view.View;
 import android.widget.FrameLayout;
@@ -89,7 +90,8 @@ public class BrightnessMirrorController
         FrameLayout.LayoutParams lp =
                 (FrameLayout.LayoutParams) mBrightnessMirror.getLayoutParams();
         Resources r = mBrightnessMirror.getResources();
-        lp.width = r.getDimensionPixelSize(R.dimen.qs_panel_width);
+        //lp.width = r.getDimensionPixelSize(R.dimen.qs_panel_width);
+        lp.width = r.getDisplayMetrics().widthPixels;
         lp.height = r.getDimensionPixelSize(R.dimen.brightness_mirror_height);
         lp.gravity = r.getInteger(R.integer.notification_panel_layout_gravity);
         mBrightnessMirror.setLayoutParams(lp);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Android 12的SystemUI下拉框中的亮度条的显示隐藏流程如下: 1. 下拉通知栏时,SystemUI会发送一个通知栏展开的广播,应用可以通过监听该广播来响应下拉通知栏的事件。 2. 在通知栏展开的回调方法中,应用可以根据当前的亮度调节状态来判断是否需要显示亮度条。 3. 如果需要显示亮度条,则可以获取亮度条的控件引用,并设置其可见性为可见。如果不需要显示亮度条,则将其可见性设置为不可见。 4. 当通知栏被收起时,SystemUI会发送一个通知栏收起的广播,应用可以通过监听该广播来响应通知栏收起的事件。 5. 在通知栏收起的回调方法中,应用可以将亮度条的可见性设置为不可见。 具体实现步骤可以参考以下代码示例: ``` public class MyNotificationListener extends NotificationListenerService { private SeekBar mBrightnessSeekBar; @Override public void onNotificationPosted(StatusBarNotification sbn) { // 检测到通知栏展开事件 if (sbn.getNotification().fullScreenIntent != null) { // 获取亮度调节状态 boolean isAdjustBrightness = isAdjustBrightness(sbn); // 如果需要显示亮度条 if (isAdjustBrightness) { // 获取亮度条控件的引用 mBrightnessSeekBar = findViewById(R.id.brightness_seekbar); // 设置亮度条的可见性为可见 mBrightnessSeekBar.setVisibility(View.VISIBLE); } } } @Override public void onNotificationRemoved(StatusBarNotification sbn) { // 检测到通知栏收起事件 if (sbn.getNotification().fullScreenIntent != null) { // 如果亮度条控件存在,将其可见性设置为不可见 if (mBrightnessSeekBar != null) { mBrightnessSeekBar.setVisibility(View.GONE); } } } // 判断是否需要显示亮度条 private boolean isAdjustBrightness(StatusBarNotification sbn) { Bundle extras = sbn.getNotification().extras; int flags = extras.getInt(Notification.EXTRA_FLAGS); return (flags & Notification.FLAG_AUTO_BRIGHTNESS) == 0 && (flags & Notification.FLAG_HIGH_PRIORITY) != 0; } } ``` 需要注意的是,具体实现可能会根据不同的设备厂商或Android版本而有所不同,需要根据具体情况进行调整。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xuyewen288

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值