Android Q(10) SystemUI添加快速设置按钮
16lz
2021-01-23
1、新建TestTile类并继承QSTileImpl,主要作用就是该快速设置按钮的实现类,该类需要实现具体功能。该类具体怎么写可以参考tiles同级目录下其它tile的写法。
文件路径:LINUX/android/frameworks/base/packages/SystemUI/src/com/android/systemui/qs/tiles/TestTile.java
2、在QSFactoryImpl中配置TestTile。
文件路径:LINUX/android/frameworks/base/packages/SystemUI/src/com/android/systemui/qs/tileimpl/QSFactoryImpl.java
(1)导入TestTile包:
import com.android.systemui.qs.tiles.TestTile;
(2)声明Provider泛型对象
private final Provider mTestTileProvider;
(3)QSFactoryImpl的构造方法中添加testTileProvider参数,并初始化mTestTileProvider对象
@Injectpublic QSFactoryImpl(Provider wifiTileProvider, Provider bluetoothTileProvider, ... Provider testTileProvider)
mWifiTileProvider = wifiTileProvider;mBluetoothTileProvider = bluetoothTileProvider;...mTestTileProvider = testTileProvider;
(4)在createTileInternal方法中返回TestTile对象
private QSTileImpl createTileInternal(String tileSpec) { // Stock tiles. switch (tileSpec) { case "wifi": return mWifiTileProvider.get(); case "bt": return mBluetoothTileProvider.get(); ... case "testtile"://testtile需要在congfig文件中配置声明,后面再说明 return mTestTileProvider.get(); }
3、在config配置文件中quick_settings_tiles_default和quick_settings_tiles_stock字段里添加testtile,配置快速设置中默认显示显示TestTile。
文件路径:LINUX/android/frameworks/base/packages/SystemUI/res/values/config.xml
wifi,bt,...,testtile
wifi,...,testtile
自此,添加快速设置功能基本完成。
更多相关文章
- 自定义SeekBarPreference控件(老外出品,直接在preferences文件中
- Android资源文件 - 使用资源存储字符串 颜色 尺寸 整型 布尔值
- Android如何使用so文件和Android studio中导入so
- android读取plist文件
- 在Android中把SQLite的数据库文件存储在SD卡中【转】
- 使用Android自带的DownloadManager下载文件
- android 获取.thumbnail文件下的小图标
- Android--用Pull解析器将对象解析成xml文件及单元测试
- Xposed: 勾住(Hook) Android应用程序对象的方法,实现AOP