自定义状态栏布局教程:
------------------------------准备工具:
1:apktool(没有的百度自己下载)
------------------------------
2:jota文本编辑器,我的版本是0.2.27,因为最新版可能有不能保存了情况(没有的安智市场下载旧版)
------------------------------
3:x-plore文件管理器(没有的百度下载)
------------------------------
4:re管理器(没有的百度下载)
------------------------------
步骤:请先熟悉了apktool的使用方法。这里我以MIUI来说明布局。
1:提取出MIUI的MIUISystemUI.apk(路径:system/app,官方的叫SystemUI.apk)和framework-res-miui.apk(路径:system/framework,官方的不用)
------------------------------
2:把 framework-res-miui.apk放到sd卡apktool文件夹的目录下,MIUISystemUI.apk放到要编译的文件夹下。(比如我的MIUISystemUI.apk就是放在sd卡的N909目录下,直观简洁。)
------------------------------
3:进入apktool目录,点击 framework-res-miui.apk,作为framework框架导入(这个选项在下面,拉下去就可以了),到N909目录,找到MIUISystemUI.apk,点击它,反编译资源。
------------------------------
4:编译好了以后出来一个弹出框,点确定,好了反编译完成,生成了一个叫MIUISystemUI_src的文件夹。
接着点击这个文件夹,点编译,一会儿会报错,不管它,用re管理器删除掉res/values-largeui和res/values-mediumui这两个文件夹。好了,最关键的一步。
用jota打开res/values/public.xml搜索 miui_font,把这一句给删除掉<public type="bool" name="miui_font_scale_switch" id="0x7f090009" />。这一步很关键,官方的自动忽略这一步。
------------------------------
5:点击MIUISystemUI_src文件夹,编译,等编译完了是不是生成了MIUISystemUI_src.apk?如果不是,那么第4步就有问题了,或者你根本用不来apktool。
好了,上面只是检验你是不是完美完成了第4步。现在打开MIUISystemUI_src/res/layout/status_bar.xml,这个就是主状态栏的布局文件,好了,我们来看看布局属性。
------------------------------
6:(状态栏布局属性,这里我以我的仿魅族状态栏来说)有人看到下面的布局属性就蒙了。。。好吧,看你自己了。
<LinearLayout android:layout_width="fill_parent" android:layout_height="fill_parent">这个还没有结尾。
<!--这是线性布局(不懂的百度), android:layout_width="fill_parent" 这个是主控件的大小,fill_parent是表示主控件大小为最大,占满这个屏幕,但是因为主控件只有状态栏的那么大,所以这个控件就是那么大了, android:layout_height="fill_parent" 主控件的高度,高为最高-->
<LinearLayout android:orientation="horizontal" android:id="@id/icons" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1.0">这个也没有结尾。
<!--还是线性布局,嵌套的线性布局(不懂的百度), android:orientation="horizontal"这个是水平布局(百度),除了水平布局还有垂直布局。 android:id="@id/icons" 这个是这个控件的id,也是唯一标识,可以在values/ids找到。android:layout_width="fill_parent" 这个是主控件的大小, android:layout_height="fill_parent" 主控件的高度, android:layout_weight="1.0" 这个是权重的意思,代表这个控件的权重。(百度,安卓布局视频学习)-->
<LinearLayout android:orientation="horizontal" android:layout_width="wrap_content"这个控件的大小,为wrap_content,意思是这个东西有多大控件就显示多大。 android:layout_height="wrap_content" 和上面一样。高度。>
<com.android.systemui.statusbar.policy.Clock android:gravity="center"这个是这个控件相对与主控件居中
。 android:id="@id/clock"这个代表的是时间控件。 android:textSize="28sp" 这个代表文本的大小为28sp。android:layout_width="wrap_content"大小。和上面一样,略。 android:layout_height="fill_parent" 高度,略。/>
</LinearLayout>这个是线性布局的结尾。
这里我只复制了一小部分,完整的肯定不止这一些。
下一个教程出布局属性教程。
唉,都懒得打了。
还是自己去看百度(安卓布局视频)吧。
------------------------------
BY-安智-ATX-zzyandzzy
------------------------------
------------------------------准备工具:
1:apktool(没有的百度自己下载)
------------------------------
2:jota文本编辑器,我的版本是0.2.27,因为最新版可能有不能保存了情况(没有的安智市场下载旧版)
------------------------------
3:x-plore文件管理器(没有的百度下载)
------------------------------
4:re管理器(没有的百度下载)
------------------------------
步骤:请先熟悉了apktool的使用方法。这里我以MIUI来说明布局。
1:提取出MIUI的MIUISystemUI.apk(路径:system/app,官方的叫SystemUI.apk)和framework-res-miui.apk(路径:system/framework,官方的不用)
------------------------------
2:把 framework-res-miui.apk放到sd卡apktool文件夹的目录下,MIUISystemUI.apk放到要编译的文件夹下。(比如我的MIUISystemUI.apk就是放在sd卡的N909目录下,直观简洁。)
------------------------------
3:进入apktool目录,点击 framework-res-miui.apk,作为framework框架导入(这个选项在下面,拉下去就可以了),到N909目录,找到MIUISystemUI.apk,点击它,反编译资源。
------------------------------
4:编译好了以后出来一个弹出框,点确定,好了反编译完成,生成了一个叫MIUISystemUI_src的文件夹。
接着点击这个文件夹,点编译,一会儿会报错,不管它,用re管理器删除掉res/values-largeui和res/values-mediumui这两个文件夹。好了,最关键的一步。
用jota打开res/values/public.xml搜索 miui_font,把这一句给删除掉<public type="bool" name="miui_font_scale_switch" id="0x7f090009" />。这一步很关键,官方的自动忽略这一步。
------------------------------
5:点击MIUISystemUI_src文件夹,编译,等编译完了是不是生成了MIUISystemUI_src.apk?如果不是,那么第4步就有问题了,或者你根本用不来apktool。
好了,上面只是检验你是不是完美完成了第4步。现在打开MIUISystemUI_src/res/layout/status_bar.xml,这个就是主状态栏的布局文件,好了,我们来看看布局属性。
------------------------------
6:(状态栏布局属性,这里我以我的仿魅族状态栏来说)有人看到下面的布局属性就蒙了。。。好吧,看你自己了。
<LinearLayout android:layout_width="fill_parent" android:layout_height="fill_parent">这个还没有结尾。
<!--这是线性布局(不懂的百度), android:layout_width="fill_parent" 这个是主控件的大小,fill_parent是表示主控件大小为最大,占满这个屏幕,但是因为主控件只有状态栏的那么大,所以这个控件就是那么大了, android:layout_height="fill_parent" 主控件的高度,高为最高-->
<LinearLayout android:orientation="horizontal" android:id="@id/icons" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1.0">这个也没有结尾。
<!--还是线性布局,嵌套的线性布局(不懂的百度), android:orientation="horizontal"这个是水平布局(百度),除了水平布局还有垂直布局。 android:id="@id/icons" 这个是这个控件的id,也是唯一标识,可以在values/ids找到。android:layout_width="fill_parent" 这个是主控件的大小, android:layout_height="fill_parent" 主控件的高度, android:layout_weight="1.0" 这个是权重的意思,代表这个控件的权重。(百度,安卓布局视频学习)-->
<LinearLayout android:orientation="horizontal" android:layout_width="wrap_content"这个控件的大小,为wrap_content,意思是这个东西有多大控件就显示多大。 android:layout_height="wrap_content" 和上面一样。高度。>
<com.android.systemui.statusbar.policy.Clock android:gravity="center"这个是这个控件相对与主控件居中
。 android:id="@id/clock"这个代表的是时间控件。 android:textSize="28sp" 这个代表文本的大小为28sp。android:layout_width="wrap_content"大小。和上面一样,略。 android:layout_height="fill_parent" 高度,略。/>
</LinearLayout>这个是线性布局的结尾。
这里我只复制了一小部分,完整的肯定不止这一些。
下一个教程出布局属性教程。
唉,都懒得打了。
还是自己去看百度(安卓布局视频)吧。
------------------------------
BY-安智-ATX-zzyandzzy
------------------------------