Android 8.1隐藏状态栏图标的实例代码

发布时间:2020-09-16 14:20:16 作者:祥子Gyx
来源:脚本之家 阅读:234

近期客户需求,状态栏只显示时间和电池图标,如图 

Android 8.1隐藏状态栏图标的实例代码

状态栏图标的布局文件在frameworks\base\packages\SystemUI\res\layout\status_bar.xml,主要包括通知,定位,蓝牙,信号,时间,电池等图标,只要在相应的布局文件中加入属性android:visibility="invisible" 或者“gone”即可

<?xml version="1.0" encoding="utf-8"?>
<!--
**
** Copyright 2006, The Android Open Source Project
**
** Licensed under the Apache License, Version 2.0 (the "License"); 
** you may not use this file except in compliance with the License. 
** You may obtain a copy of the License at 
**
**   http://www.apache.org/licenses/LICENSE-2.0 
**
** Unless required by applicable law or agreed to in writing, software 
** distributed under the License is distributed on an "AS IS" BASIS, 
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
** See the License for the specific language governing permissions and 
** limitations under the License.
*/
-->
<!--  android:background="@drawable/status_bar_closed_default_background" -->
<com.android.systemui.statusbar.phone.PhoneStatusBarView
  xmlns:android="http://schemas.android.com/apk/res/android"
  xmlns:systemui="http://schemas.android.com/apk/res/com.android.systemui"
  android:layout_width="match_parent"
  android:layout_height="@dimen/status_bar_height"
  android:id="@+id/status_bar"
  android:background="@drawable/system_bar_background"
  android:orientation="vertical"
  android:focusable="false"
  android:descendantFocusability="afterDescendants"
  >
  <ImageView
    android:id="@+id/notification_lights_out"
    android:layout_width="0dp"
    android:layout_height="match_parent"
    android:paddingStart="6dip"
    android:paddingBottom="2dip"
    android:src="@drawable/ic_sysbar_lights_out_dot_small"
    android:scaleType="center"
    android:visibility="gone"
    />
  <LinearLayout android:id="@+id/status_bar_contents"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingStart="6dp"
    android:paddingEnd="8dp"
    android:orientation="horizontal"
    >
    <!-- The alpha of this area is controlled from both PhoneStatusBarTransitions and
       PhoneStatusBar (DISABLE_NOTIFICATION_ICONS). -->
    <com.android.systemui.statusbar.AlphaOptimizedFrameLayout
      android:id="@+id/notification_icon_area"
      android:layout_width="0dip"
      android:layout_height="match_parent"
      android:layout_weight="1"
      android:visibility="invisible"
      android:orientation="horizontal" />
    <com.android.keyguard.AlphaOptimizedLinearLayout android:id="@+id/system_icon_area"
      android:layout_width="wrap_content"
      android:layout_height="match_parent"
      android:orientation="horizontal"
      >
      <include layout="@layout/system_icons" />
      <com.android.systemui.statusbar.policy.Clock
        android:id="@+id/clock"
        android:textAppearance="@style/TextAppearance.StatusBar.Clock"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:singleLine="true"
        android:paddingStart="@dimen/status_bar_clock_starting_padding"
        android:paddingEnd="@dimen/status_bar_clock_end_padding"
        android:gravity="center_vertical|start"
        />
    </com.android.keyguard.AlphaOptimizedLinearLayout>
  </LinearLayout>
  <ViewStub
    android:id="@+id/emergency_cryptkeeper_text"
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:layout="@layout/emergency_cryptkeeper_text"
  />
</com.android.systemui.statusbar.phone.PhoneStatusBarView>
<?xml version="1.0" encoding="utf-8"?><!--
 ~ Copyright (C) 2014 The Android Open Source Project
 ~
 ~ Licensed under the Apache License, Version 2.0 (the "License");
 ~ you may not use this file except in compliance with the License.
 ~ You may obtain a copy of the License at
 ~
 ~   http://www.apache.org/licenses/LICENSE-2.0
 ~
 ~ Unless required by applicable law or agreed to in writing, software
 ~ distributed under the License is distributed on an "AS IS" BASIS,
 ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 ~ See the License for the specific language governing permissions and
 ~ limitations under the License
 -->
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  android:id="@+id/system_icons"
  android:layout_width="wrap_content"
  android:layout_height="match_parent"
  android:gravity="center_vertical">
  <com.android.keyguard.AlphaOptimizedLinearLayout android:id="@+id/statusIcons"
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:gravity="center_vertical"
    android:visibility="invisible"
    android:orientation="horizontal"/>
  <include layout="@layout/signal_cluster_view"
    android:visibility="invisible"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginStart="@dimen/signal_cluster_margin_start"/>
  <com.android.systemui.BatteryMeterView android:id="@+id/battery"
    android:layout_height="match_parent"
    android:layout_width="wrap_content"
    />
</LinearLayout>

总结

到此这篇关于Android 8.1隐藏状态栏图标的实例代码的文章就介绍到这了,更多相关android 隐藏状态栏图标内容请搜索亿速云以前的文章或继续浏览下面的相关文章希望大家以后多多支持亿速云!

推荐阅读:
  1. Android源码个个击破之WindowManager
  2. Android如何实现系统状态栏的隐藏和显示功能

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

android 隐藏 状态栏

上一篇:mysql和oracle有哪些区别

下一篇:Mysql中create as 和create like有哪些区别

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》