一、下拉状态栏添加图标:
1、在配置文件frameworks/base/packages/SystemUI/res/values/config.xml添加要设置图片名称;
如下面所示:这个文件在QStilehost.java 中的方法loadTileSpecs() 中调用。

<string name="quick_settings_tiles_default" translatable="false">
    wifi,bt,data,inversion,airplane,lte,rotation,flashlight,location,cast,hotspot,audioprofile
</string>

2、在config.xml文件中定义我们想要的开关名称之后,还需要打开如下路径来添加相关的内容:
frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/QSTileHost.java
如:
private QSTile<?> createTile(String tileSpec) {
if (tileSpec.equals(“wifi”) && !WCN_DISABLED) return new WifiTile(this);
else if (tileSpec.equals(“bt”) && !WCN_DISABLED) return new BluetoothTile(this);
else if (tileSpec.equals(“inversion”)) return new ColorInversionTile(this);
else if (tileSpec.equals(“cell”)) return new CellularTile(this);
else if (tileSpec.equals(“data”)) return new DataConnectionTile(this);
else if (tileSpec.equals(“airplane”)) return new AirplaneModeTile(this);
else if (tileSpec.equals(“lte”) && TelephonyManagerSprd.isDeviceSupportLte() && (!“reliance”.equals(SystemProperties.get(“ro.operator.volte”,"")))) return new LteServiceTile(this);
else if (tileSpec.equals(“rotation”)) return new RotationLockTile(this);
else if (tileSpec.equals(“flashlight”)) return new FlashlightTile(this);
else if (tileSpec.equals(“location”) && !WCN_DISABLED) return new LocationTile(this);
else if (tileSpec.equals(“cast”) && !WCN_DISABLED) return new CastTile(this);
else if (tileSpec.equals(“hotspot”) && !WCN_DISABLED) return new HotspotTile(this);
else if (tileSpec.equals(“audioprofile”)) return new AudioProfileTile(this);
else if (tileSpec.startsWith(IntentTile.PREFIX)) return IntentTile.create(this,tileSpec);
else throw new IllegalArgumentException("Bad tile spec: " + tileSpec);
}

3、 在此路径frameworks/base/packages/SystemUI/src/com/Android/systemui/qs/tiles中添加要实现功能的title文件:
如源码的RotationLockTile.java 文件。在此文件中手动添加几个比较重要的方法:
setFmModeUpdate()和getQSTileViewMarkBit()这两个方法添加之后,点击开关才有效果;
handleClick()–每次点击开关时执行
和handleUpdateState(…)–刷新页面

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐