android6.0 状态栏添加图标 举例Location
来源:互联网 发布:sql常用语句及用法 编辑:程序博客网 时间:2024/06/05 01:16
增加状态图标步骤如下:
:1: 将图片放在 \frameworks\base\packages\SystemUI\res\drawable-hdpi(实际情况自己选择)
:2:\frameworks\base\core\res\res\values config.xml
添加<item><xliff:gid="id">eyeball</xliff:g></item>
3:\frameworks\base\packages\SystemUI\src\com\android\systemui\statusbar\phone PhoneStatusBarPolicy.java 添加如下(注意名字要与 config.xml中定义的一致)
mService.setIcon(“eyeball”, R.drawable.stat_sys_eyeball, 0,null);
mService.setIconVisibility(“eyeball”, true);
这只是简单的添加一个图标,没有对他进行控制
下面举个我在工作当中实现的一个例子——添加Location图标
添加图片和item我就不贴出来了
diff --git a/frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java b/frameworks/basindex c0b6fa5..5140280 100644--- a/frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java+++ b/frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java@@ -189,7 +189,7 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode, DragDownHelper.DragDownCallback, ActivityStarter, OnUnlockMethodChangedListener, HeadsUpManager.OnHeadsUpChangedListener { static final String TAG = "PhoneStatusBar";- public static final boolean DEBUG = BaseStatusBar.DEBUG;+ public static final boolean DEBUG = true;//BaseStatusBar.DEBUG; public static final boolean SPEW = false; public static final boolean DUMPTRUCK = true; // extra dumpsys info public static final boolean DEBUG_GESTURES = false;@@ -624,7 +624,7 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode, // Lastly, call to the icon policy to install/update all the icons. mIconPolicy = new PhoneStatusBarPolicy(mContext, mCastController, mHotspotController,- mUserInfoController, mBluetoothController);+ mUserInfoController, mBluetoothController,mLocationController); mIconPolicy.setCurrentUserSetup(mUserSetup);/statusbar/phone/PhoneStatusBarPolicy.javadiff --git a/frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarPolicy.java b/frameworindex fa9c4bb..7558d76 100644--- a/frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarPolicy.java+++ b/frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarPolicy.java@@ -45,6 +45,8 @@ import com.android.systemui.statusbar.policy.BluetoothController.Callback; import com.android.systemui.statusbar.policy.CastController; import com.android.systemui.statusbar.policy.CastController.CastDevice; import com.android.systemui.statusbar.policy.HotspotController;+import com.android.systemui.statusbar.policy.LocationController;+import com.android.systemui.statusbar.policy.LocationController.LocationSettingsChangeCallback; import com.android.systemui.statusbar.policy.UserInfoController;-public class PhoneStatusBarPolicy implements Callback {+public class PhoneStatusBarPolicy implements Callback,LocationSettingsChangeCallback { private static final String TAG = "PhoneStatusBarPolicy"; public PhoneStatusBarPolicy(Context context, CastController cast, HotspotController hotspot,- UserInfoController userInfoController, BluetoothController bluetooth) {+ UserInfoController userInfoController, BluetoothController bluetooth,LocationController locationController) { mContext = context; mCast = cast; mHotspot = hotspot; mBluetooth = bluetooth; mBluetooth.addStateChangedCallback(this);+ mLocationController = locationController;+ mLocationController.addSettingsChangedCallback(this); @Override+ public void onLocationSettingsChanged(boolean locationEnabled){+ updateLocation();+ }+ + private LocationController mLocationController;+ private void updateLocation(){+ boolean bluetoothEnabled = false;+ if (mLocationController != null) {+ bluetoothEnabled = mLocationController.isLocationEnabled();+ }+ mService.setIcon("location",R.drawable.stat_sys_location,0,null);+ mService.setIconVisibility("location",bluetoothEnabled);+ }+
这的LocationContorller是SystemUI中就已经定义的了如自己添加的没有控制类,要自己根据实际情况添加。
0 0
- android6.0 状态栏添加图标 举例Location
- android6.0在状态栏添加一键截屏
- android6.0系统状态栏添加电量百分比
- Android6.0状态栏图标原生反色操作
- iPhone 添加状态栏图标及自定义状态栏
- Android 4.2 状态栏添加图标
- Android SystemUI状态栏添加图标
- Android SystemUI状态栏添加图标
- Android6.0SystemUI状态栏更新
- android 状态栏添加图标的函数
- android 状态栏添加图标的函数
- android添加常驻图标到状态栏
- android添加常驻图标到状态栏
- Android下添加状态栏图标的方法
- android添加常驻图标到状态栏
- android添加常驻图标到状态栏
- android添加常驻图标到状态栏
- android6.0 添加电量百分比
- 第九周项目4—广义表算法库及应用(2)(3)
- 表单转json
- 排序算法
- 第十一周项目1-验证算法
- 第九周项目2 对称矩阵压缩存储的实现与应用(2)
- android6.0 状态栏添加图标 举例Location
- 第11周项目1 验证算法(3)中序线索化二叉树的算法验证
- 参考PR创建采购合同(ME31K) BDC模式
- Swift3.0语言教程获取字符串编码与哈希地址
- 第十一周 项目一 【验证算法 4 哈弗曼树】
- java中获取对象所占用的内存大小
- Extjs分页详解
- Call requires permission which may be rejected by user: code should explicitly check to see if permi
- 求二维数组的最大值 求商求余