反编译SystemUI.apk,在res\layout\status_bar.xml中,修改第一个LinearLayout,添加RelativeLayout,这样就能居中显示了。在com.android.systemui.statusbar.Clock结点中添加属性android:layout_centerHorizontal="true",将IconMerger节点的宽度由0.0dpi修改为wrap_content即可修复左上角图标问题
修改后完整的LinearLayout如下:
<LinearLayout android:orientation="horizontal" android:id="
@id/icons" android:layout_width="fill_parent" android:layout_height="fill_parent">
<RelativeLayout android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="fill_parent">
<com.android.systemui.statusbar.IconMerger android:gravity="center_vertical" android:orientation="horizontal" android:id="
@id/notificationIcons" android:paddingLeft="6.0dip" android:layout_width="wrap_content" android:layout_height="fill_parent" android:layout_weight="1.0" android:layout_alignParentLeft="true" />
<LinearLayout android:gravity="center_vertical" android:orientation="horizontal" android:id="
@id/statusIcons" android:paddingRight="6.0dip" android:layout_width="wrap_content" android:layout_height="fill_parent" android:layout_alignParentRight="true" />
<com.android.systemui.statusbar.Clock android:textAppearance="
@android:style/TextAppearance.StatusBar.Icon" android:textColor="#ffffffff" android:layout_width="wrap_content" android:layout_height="fill_parent" android:singleLine="true" android:layout_centerHorizontal="true" />
</RelativeLayout>
</LinearLayout>