systemUI.apk 美化教學第五章 : 增加下拉,上方 4 個圖示增加下拉,上方 4個圖示這 4 個圖示的功能如下右一 => 清除右二 => 設定右三 => 鎖屏 , 長按是電源選擇右四 => home 鍵 長按是工作理員1. 增加下拉,上方 4 個圖示, 需要編譯的檔案是\SystemUI\res\layout\tw_status_bar_expanded_header.xml\SystemUI\res\values\public.xml\res\drawable-xhdpi\鎖屏的圖示2. 因為原來已經有二個圖示, 設定及清除, 我們只要再增加二個圖示 就是 鎖屏 及 home 鍵3. home 鍵的程式碼<com.android.systemui.statusbar.policy.KeyButtonView android:id="@id/home" android:paddingLeft="2.0dip" android:paddingRight="2.0dip" android:layout_width="wrap_content" android:layout_height="fill_parent" android:src="@drawable/ic_sysbar_recent" android:contentDescription="@string/accessibility_home" systemui:keyCode="3" systemui:keyRepeat="true" systemui:glowBackground="@drawable/ic_sysbar_highlight" />4. 鎖屏 的程式碼<com.android.systemui.statusbar.policy.KeyButtonView android:id="@id/back" android:paddingLeft="2.0dip" android:paddingRight="2.0dip" android:layout_width="wrap_content" android:layout_height="fill_parent" android:src="@drawable/ic_sysbar_lock" android:layout_toLeftOf="@id/settings_button" android:contentDescription="@string/accessibility_back" systemui:keyCode="26" systemui:glowBackground="@drawable/ic_sysbar_highlight" />5. 我們要將程式碼加到 \SystemUI\res\layout\tw_status_bar_expanded_header.xml6. 先規劃一下, 程式碼放在最上面, 從左邊算起是第一個, 程式碼最後一行就是最右邊7. 我們要將清除鍵,放在最右邊 , 所以清除的程式碼,就要最後寫8 打開 \SystemUI\res\layout\tw_status_bar_expanded_header.xml9. 這是 5. 6 , 7, 8 ,9 ,10 ,11, 12, 13 的程式碼原來第五列<com.android.systemui.statusbar.policy.Clock android:textAppearance="@style/TextAppearance.StatusBar.Expanded.Clock" android:textColor="#ffffffff" android:id="@id/clock" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="4.0dip" android:layout_marginTop="-3.0dip" android:singleLine="true" systemui:ampmSmall="true" />換成有能力變更時間大小及顏色的程式碼<com.android.systemui.statusbar.policy.Clock android:textSize="26.0dip" android:textStyle="normal" android:textColor="#ff33b5e5" android:id="@id/clock" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="8.0dip" android:layout_marginTop="-3.0dip" android:singleLine="true" systemui:ampmSmall="true" />原來第六列<com.android.systemui.statusbar.policy.DateView android:textAppearance="@style/TextAppearance.StatusBar.Expanded.Date" android:textColor="#ffcbcbcb" android:ellipsize="none" android:id="@id/date" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="8.0dip" android:layout_marginRight="4.0dip" android:maxLines="2" />換成有能力變更日期大小及顏色的程式碼<com.android.systemui.statusbar.policy.DateView android:textSize="12.0dip" android:textStyle="normal" android:textColor="#ff33b5e5" android:ellipsize="none" android:id="@id/date" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="8.0dip" android:layout_marginRight="8.0dip" android:maxLines="2" android:textAllCaps="true" />原來第七列=> 不要變動<com.android.systemui.statusbar.RotationToggle android:id="@id/rotation_lock_button" android:visibility="gone" android:clickable="true" android:layout_width="32.0dip" android:layout_height="32.0dip" android:layout_margin="8.0dip" android:button="@drawable/ic_notify_rotation" android:contentDescription="@string/accessibility_rotation_lock_off" />原來第八列<Space android:layout_width="0.0dip" android:layout_height="0.0dip" android:layout_weight="1.0" />改為圖示是工作管理員, 短按是 home , 長按是 工作管理員<com.android.systemui.statusbar.policy.KeyButtonView android:id="@id/home" android:paddingLeft="2.0dip" android:paddingRight="2.0dip" android:layout_width="wrap_content" android:layout_height="fill_parent" android:src="@drawable/ic_sysbar_recent" android:contentDescription="@string/accessibility_home" systemui:keyCode="3" systemui:keyRepeat="true" systemui:glowBackground="@drawable/ic_sysbar_highlight" />原來第九列<ImageView android:layout_width="1.0dip" android:layout_height="25.0dip" android:layout_marginTop="7.0dip" android:layout_marginBottom="7.0dip" android:src="@drawable/tw_quick_panel_plnm_setting_dv" />改為鎖屏圖示, 長按是電源選擇<com.android.systemui.statusbar.policy.KeyButtonView android:id="@id/back" android:paddingLeft="2.0dip" android:paddingRight="2.0dip" android:layout_width="wrap_content" android:layout_height="fill_parent" android:src="@drawable/ic_sysbar_lock" android:layout_toLeftOf="@id/settings_button" android:contentDescription="@string/accessibility_back" systemui:keyCode="26" systemui:glowBackground="@drawable/ic_sysbar_highlight" />原來第十列是清除的按鍵, 因為它要在最右邊, 所以這一列會移到最下面,<ImageView android:id="@id/clear_all_button" android:paddingLeft="8.0dip" android:layout_width="48.0dip" android:layout_height="48.0dip" android:src="@drawable/ic_notify_clear" android:scaleType="center" android:contentDescription="@string/accessibility_clear_all" />改為以下的程式碼位罝調整<LinearLayout android:gravity="right|center" android:layout_width="fill_parent" android:layout_height="fill_parent">原來第十一列 , 是設定按鍵,<RelativeLayout android:id="@id/settings_button" android:background="@drawable/tw_quick_panel_setting_button_bg" android:focusable="true" android:visibility="visible" android:layout_width="72.0dip" android:layout_height="39.0dip">改為 也是設定, 但位罝功能有稍為調整<ImageView android:id="@id/settings_button" android:layout_width="48.0dip" android:layout_height="48.0dip" android:src="@drawable/ic_notify_quicksettings" android:scaleType="center" android:contentDescription="@string/accessibility_settings_button" />原來第十二列<ImageView android:id="@id/settings_button_icon" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/tw_quickpanel_icon_settings" android:scaleType="center" android:layout_centerHorizontal="true" android:layout_centerVertical="true" android:contentDescription="@string/accessibility_settings_button" />改為本來放在第十列的清除鍵<ImageView android:id="@id/clear_all_button" android:paddingLeft="8.0dip" android:layout_width="48.0dip" android:layout_height="48.0dip" android:src="@drawable/ic_notify_clear" android:scaleType="center" android:contentDescription="@string/accessibility_clear_all" />原來第十三列</RelativeLayout>改為</LinearLayout>原來第 14 列不變10. 更換完成存檔, 離開11. 因為我們有新增一個圖示按鍵 鎖屏的圖示 , 所以我們要給它一個位罝12. 打開 \SystemUI\res\values\public.xml13. 剛剛第二章, 最後一個號碼是 0x7f0202de<public type="drawable" name="back" id="0x7f0202de" />14. 所以稍後那個圖示,我們要用 0x7f0202df15. 在最後一列貼上<public type="drawable" name="ic_sysbar_lock" id="0x7f0202df" />16. 按存檔離開17. 因為要開始編譯,要將缺的圖示補上, 編譯才不會出錯, 本來只缺一個鎖屏的圖示,但是為了整體性, 我建議 4 個圖示的全部更換, 這樣大小才會一致18. 我提供 4 個圖示4.rarhttps://docs.google.com/open?id=0B80kk8AOqhiaTUs0Z2NNUy1GSVk19. 解壓縮後有 6 個圖示, 復制至 \res\drawable-xhdpi\20. 開始編譯 , 編謘完成後, 資料夾內若有 [dist] 就表示成功21. 我們要把 [dist]這個資料夾, 裡面的 SystemUI.apk , 解壓縮下面的檔案\SystemUI\dist\SystemUI\resources.arsc\SystemUI\dist\SystemUI\res\layout\tw_status_bar_expanded_header.xml22. 回到編譯的主目錄, 將上面解壓縮的二個檔分別覆蓋至原廠的 systemui.apk23. 也把剛剛 解壓縮後有 6 個圖示 , 也覆蓋至 原廠的 systemui.apk , 它的目錄是\SystemUI\res\drawable-xhdpi\24. 已經全部完成了, 做個直刷包, 測試看看farm_5.zip (5110 kb)https://docs.google.com/open?id=0B80kk8AOqhiabml2S0VMSkNfelE25. 刷入後,下拉上方有 4 個圖示 (但日期, 顯示不完整, 下章再說明,如何變成完整)
systemUI.apk 美化教學第六章 : 修正下拉上方日期顯示不完整1.這個問題, 4.1.1 以前的版本 都不會有問題, 到了 4.1.2 才變成日期顯示異常2. 修正下拉上方日期顯示不完整 的檔案來放在\SystemUI\res\values-zh-rTW\strings.xml\SystemUI\res\values-zh-rHK\strings.xml3. 本來只要修正台灣的部份, 但因為香港的朋友也很多刷本樓的美化包, 所以就一併修正4. 打開 \SystemUI\res\values-zh-rTW\strings.xml (程式碼來自 Chz)5. 將下列這些程式碼, 貼到最後一列<string name="quickpanel_ampm_position_formatter">%1$s %2$s</string><string name="quickpanel_month_day_year">yyyy年MMMMd日</string><string name="quickpanel_day_month_year">yyyy年MMMMd日</string><string name="quickpanel_year_month_day">yyyy年MMMMd日</string>6 存檔 離開7. 打開 \SystemUI\res\values-zh-rHK\strings.xml8. 將下列這些程式碼, 貼到最後一列<string name="quickpanel_ampm_position_formatter">%1$s %2$s</string><string name="quickpanel_month_day_year">yyyy年MMMMd日</string><string name="quickpanel_day_month_year">yyyy年MMMMd日</string><string name="quickpanel_year_month_day">yyyy年MMMMd日</string>9. 存檔 離開10. 開始編譯 , 編謘完成後, 資料夾內若有 [dist] 就表示成功11. 我們要把 [dist]這個資料夾, 裡面的 SystemUI.apk , 解壓縮下面的檔案\SystemUI\dist\SystemUI\resources.arsc11. 回到編譯的主目錄, 將上面解壓縮的1個檔分別覆蓋至原廠的 systemui.apk12. 已經全部完成了, 做個直刷包, 測試看看farm_6.zip (5110 kb)https://docs.google.com/open?id=0B80kk8AOqhiaaGpCT0FtcmljOFE下拉上方日期,已經正常了