Smartbar自动隐藏教程
1,实现目的:兼容Smartbar的程序,则显示Smartbar,不兼容的自动隐藏
2,不兼容的程序如何实现返回和菜单键?
答:
1)安装悬浮按钮软件
2)安装全屏手势插件,比如MXtools自带的或者LMD
3,如何修改
1)反编译framework-res.apk(反编译教程略 )
2)定位到framework-res\Data\res\values\dimens.xml
将 <dimen name="navigation_bar_height">48.0dip</dimen>
修改为 <dimen name="navigation_bar_height">0.0dip</dimen>
3)回编译即可(继续略)
电量带百分比符号教程
(省略反编译回编译了,直接写改哪)
SystemUI\Data\res\values\strings.xml
将 <string name="status_bar_settings_battery_meter_format_simple">%d</string>
修改为 <string name="status_bar_settings_battery_meter_format_simple">%d%%</string>
状态栏添加返回键和菜单键
1)SystemUI\Data\res\layout\status_bar.xml
看到最后一行为</com.android.systemui.statusbar.phone.PhoneStatusBarView>
在这一行上面添加
<RelativeLayout android:id="@id/back_more_area2" android:layout_width="fill_parent" android:layout_height="fill_parent">
<com.android.systemui.statusbar.policy.KeyButtonView android:layout_gravity="right" android:id="@id/back_button" android:background="@drawable/back_button_background" android:layout_width="50.0dip" android:layout_height="fill_parent" android:layout_weight="0.0" android:layout_alignParentLeft="true" android:contentDescription="@string/accessibility_menu" systemui:keyCode="4" />
<com.android.systemui.statusbar.policy.KeyButtonView android:layout_gravity="right" android:id="@id/menu_button" android:background="@drawable/menu_button_background" android:layout_width="50.0dip" android:layout_height="fill_parent" android:layout_weight="0.0" android:layout_alignParentRight="true" android:contentDescription="@string/accessibility_menu" systemui:keyCode="82" />
</RelativeLayout>
2)然后在SystemUI1\Data\res\drawable\ 下新建两个文件
文件名:back_button_background.xml
内容:
<?xml version="1.0" encoding="utf-8"?>
<selector
xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="false" android:drawable="@drawable/status_bar_back_area" />
<item android:state_pressed="true" android:drawable="@drawable/status_bar_back_area_pressed" />
</selector>
文件名:menu_button_background
内容:
<?xml version="1.0" encoding="utf-8"?>
<selector
xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="false" android:drawable="@drawable/status_bar_more_area" />
<item android:state_pressed="true" android:drawable="@drawable/status_bar_more_area_pressed" />
</selector>
3)SystemUI\Data\res\values\ids.xml
最下面添加
<item type="id" name="menu_button2">false</item>
<item type="id" name="back_more_area2">false</item>
<item type="id" name="back_button2">false</item>
4)基本上上面弄完就OK了的,但是实际上你会看到两条白线,如果觉得丑的话,可以将
SystemUI\Data\res\drawable-400dpi\下面的以下四张图片用PS处理为全透明(透明度100%)
status_bar_back_area.9.png
status_bar_back_area_pressed.9.png
status_bar_more_area.9.png
status_bar_more_area_pressed.9.png
通知栏右侧添加任务管理器开启按钮
1)定位到 SystemUI\Data\res\layout\status_bar_expanded_header.xml
找到
<FrameLayout android:layout_width="@dimen/status_bar_expanded_header_net_spinner_width" android:layout_height="fill_parent" android:layout_marginLeft="@dimen/status_bar_expanded_header_net_spinner_margin_left">
修改为
<FrameLayout android:layout_width="@dimen/status_bar_expanded_header_net_spinner_width" android:layout_height="fill_parent" android:layout_marginLeft="235dip">
2)最后一行</FrameLayout>上面添加
<com.android.systemui.statusbar.policy.KeyButtonView android:id="@id/recent_button" android:paddingLeft="5.0dip" android:paddingRight="5.0dip" android:paddingBottom="8.0dip" android:layout_width="30.0dip" android:layout_height="fill_parent" android:layout_marginLeft="390.0dip" android:src="@drawable/status_bar_recent" android:scaleType="center" android:layout_alignParentRight="true" android:contentDescription="@string/accessibility_recent" systemui:keyCode="187" />
3)SystemUI\Data\res\values\ids.xml
最下面添加
<item type="id" name="recent_button">false</item>
4)SystemUI\Data\res\drawable-xhdpi\ 下面放一张按钮图片
命名为 status_bar_recent.png
任务栏显示网速教程
1)首先要用厨房合并SystemUI.apk和SystemUI.odex,然后反编译下载附件,将里面的5个smali文件解压至下面的路径
smali/com/android/systemui/statusbar/policy\
2) 找到
<com.android.systemui.statusbar.policy.Clock android:textAppearance="@style/TextAppearance.StatusBar.Clock" android:textColor="#ffffffff" android:gravity="left|center" android:id="@id/clock" android:paddingRight="4.0dip" android:layout_width="wrap_content" android:layout_height="fill_parent" android:singleLine="true" android:alpha="1.0" />
特别的,如果是Flyme,就找到:
<LinearLayout android:gravity="center_vertical" android:orientation="horizontal" android:id="@id/statusIcons" android:layout_width="wrap_content" android:layout_height="fill_parent" />
在上面一行添加
<com.android.systemui.statusbar.policy.Traffic android:textAppearance="@style/TextAppearance.StatusBar.Traffic" android:gravity="left|center" android:id="@id/traffic" android:layout_width="wrap_content" android:layout_height="fill_parent" android:singleLine="true" />
3)notepad++打开res/values/ids.xml,最后一行添加如下内容
<item type="id" name="traffic">false</item>
4)打开res/values/styles.xml,添加样式
<style name="TextAppearance.StatusBar.Traffic" parent="@style/TextAppearance.StatusBar.Clock">
<item name="android:textSize">14.0dip</item>
<item name="android:textStyle">normal</item>
<item name="android:textColor">#ffffffff</item>
<item name="android:textAllCaps">false</item>
</style>
5)如果要网速颜色和状态栏统一,则可以不定义textColor,那一行可以删掉,或者自行定义其他颜色。8位16进制颜色代码,前两位为透明度,后6位为颜色代码
6)Traffic.smali403行中定义刷新速率
const-wide/16 v2, 0xbb8
其中bb8为16进制数字,单位毫秒,可以自行修改
7)回编译之后,往手机里拷贝的时候记得删掉手机里原来的systemUI.odex