ネットワークエンジニアが教えるスマホ塾
yuta

Androidスマホ・格安スマホ・格安SIMについて、ネットワークエンジニアの視点をからわかりやすく簡単にお届けします!

5つに増やしたナビゲーションバーの詳細

2012年12月16日
REGZA Phone T-01D 0
とりあえず2週間ぶりにT-01Dを弄ろうと思います。

確か先週くらいに、ミスって文鎮化しましたが、無事でした。

T-01Dは文鎮化しても復活できるので結構安心です。

参照: 調子に乗ってframework-res.apkいじってたら文鎮化した

この記事が初文鎮。笑
書き換えを行う前に必ずSystemUI.apkのバックアップを取っておいてください。
あるいは、SystemUI.apk/res/layout/navigation_bar.xmlのバックアップを取っておいてください。


このようなナビゲーションバーになります。
device-2012-12-16-002856.png
カッコイイですが、物理キーのあるT-01Dには必要性を感じませんでした。笑

SystemUI.apkのres/layout/navigation_bar.xmlを以下のように書き換えます。

navigation_bar.xml

<?xml version="1.0" encoding="utf-8"?>
<com.android.systemui.statusbar.phone.NavigationBarView android:background="#55000000" android:layout_width="fill_parent" android:layout_height="fill_parent" xmlns:android="http://schemas.android.com/apk/res/android" xmlns:systemui="http://schemas.android.com/apk/res/com.android.systemui">
<FrameLayout android:id="@id/rot0" android:layout_width="fill_parent" android:layout_height="fill_parent">
<LinearLayout android:orientation="horizontal" android:id="@id/nav_buttons" android:clipChildren="false" android:clipToPadding="false" android:layout_width="fill_parent" android:layout_height="fill_parent" android:animateLayoutChanges="true">
<com.android.systemui.statusbar.policy.KeyButtonView android:id="@id/search" android:layout_width="72.0dip" android:layout_height="fill_parent" android:src="@drawable/ic_sysbar_search" android:layout_weight="0.0" android:contentDescription="@string/accessibility_search" systemui:keyCode="84" systemui:glowBackground="@drawable/ic_sysbar_highlight" />
<View android:visibility="invisible" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1.0" />
<com.android.systemui.statusbar.policy.KeyButtonView android:id="@id/back" android:layout_width="72.0dip" android:layout_height="fill_parent" android:src="@drawable/ic_sysbar_back" android:layout_weight="0.0" android:contentDescription="@string/accessibility_back" systemui:keyCode="4" systemui:glowBackground="@drawable/ic_sysbar_highlight" />
<View android:visibility="invisible" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1.0" />
<com.android.systemui.statusbar.policy.KeyButtonView android:id="@id/home" android:layout_width="72.0dip" android:layout_height="fill_parent" android:src="@drawable/ic_sysbar_home" android:layout_weight="0.0" android:contentDescription="@string/accessibility_home" systemui:keyCode="3" systemui:keyRepeat="false" systemui:glowBackground="@drawable/ic_sysbar_highlight" />
<View android:visibility="invisible" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1.0" />
<com.android.systemui.statusbar.policy.KeyButtonView android:id="@id/recent_apps" android:layout_width="72.0dip" android:layout_height="fill_parent" android:src="@drawable/ic_sysbar_recent" android:layout_weight="0.0" android:contentDescription="@string/accessibility_recent" systemui:glowBackground="@drawable/ic_sysbar_highlight" />
<View android:visibility="invisible" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1.0" />
<com.android.systemui.statusbar.policy.KeyButtonView android:id="@id/menu" android:layout_width="72.0dip" android:layout_height="fill_parent" android:src="@drawable/ic_sysbar_menu" android:layout_weight="0.0" android:contentDescription="@string/accessibility_menu" systemui:keyCode="82" systemui:glowBackground="@drawable/ic_sysbar_highlight" />
</LinearLayout>
<LinearLayout android:orientation="horizontal" android:id="@id/lights_out" android:visibility="gone" android:layout_width="fill_parent" android:layout_height="fill_parent">
<ImageView android:layout_width="40.0dip" android:layout_height="fill_parent" android:src="@drawable/ic_sysbar_lights_out_dot_small" android:scaleType="center" android:layout_weight="0.0" />
<View android:visibility="invisible" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1.0" />
<ImageView android:layout_width="80.0dip" android:layout_height="fill_parent" android:src="@drawable/ic_sysbar_lights_out_dot_large" android:scaleType="center" android:layout_weight="0.0" />
<View android:visibility="invisible" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1.0" />
<ImageView android:layout_width="80.0dip" android:layout_height="fill_parent" android:src="@drawable/ic_sysbar_lights_out_dot_large" android:scaleType="center" android:layout_weight="0.0" />
<View android:visibility="invisible" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1.0" />
<ImageView android:layout_width="80.0dip" android:layout_height="fill_parent" android:src="@drawable/ic_sysbar_lights_out_dot_large" android:scaleType="center" android:layout_weight="0.0" />
<View android:visibility="invisible" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1.0" />
<ImageView android:layout_width="40.0dip" android:layout_height="fill_parent" android:src="@drawable/ic_sysbar_lights_out_dot_small" android:scaleType="center" android:layout_weight="0.0" />
</LinearLayout>
<View android:layout_gravity="top" android:id="@id/deadzone" android:clickable="true" android:layout_width="fill_parent" android:layout_height="@dimen/navigation_bar_deadzone_size" />
</FrameLayout>
<FrameLayout android:id="@id/rot90" android:paddingTop="0.0dip" android:visibility="gone" android:layout_width="fill_parent" android:layout_height="fill_parent">
<LinearLayout android:orientation="vertical" android:id="@id/nav_buttons" android:clipChildren="false" android:clipToPadding="false" android:layout_width="fill_parent" android:layout_height="fill_parent" android:animateLayoutChanges="true">
<com.android.systemui.statusbar.policy.KeyButtonView android:id="@id/menu" android:layout_width="fill_parent" android:layout_height="40.0dip" android:src="@drawable/ic_sysbar_menu_land" android:layout_weight="0.0" android:contentDescription="@string/accessibility_menu" systemui:keyCode="82" systemui:glowBackground="@drawable/ic_sysbar_highlight_land" />
<View android:visibility="invisible" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1.0" />
<com.android.systemui.statusbar.policy.KeyButtonView android:id="@id/recent_apps" android:layout_width="fill_parent" android:layout_height="80.0dip" android:src="@drawable/ic_sysbar_recent_land" android:layout_weight="0.0" android:contentDescription="@string/accessibility_recent" systemui:glowBackground="@drawable/ic_sysbar_highlight_land" />
<View android:visibility="invisible" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1.0" />
<com.android.systemui.statusbar.policy.KeyButtonView android:id="@id/home" android:layout_width="fill_parent" android:layout_height="80.0dip" android:src="@drawable/ic_sysbar_home_land" android:layout_weight="0.0" android:contentDescription="@string/accessibility_home" systemui:keyCode="3" systemui:keyRepeat="false" systemui:glowBackground="@drawable/ic_sysbar_highlight_land" />
<View android:visibility="invisible" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1.0" />
<com.android.systemui.statusbar.policy.KeyButtonView android:id="@id/back" android:layout_width="fill_parent" android:layout_height="80.0dip" android:src="@drawable/ic_sysbar_back_land" android:layout_weight="0.0" android:contentDescription="@string/accessibility_back" systemui:keyCode="4" systemui:glowBackground="@drawable/ic_sysbar_highlight_land" />
<View android:visibility="invisible" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1.0" />
<com.android.systemui.statusbar.policy.KeyButtonView android:id="@id/search" android:layout_width="fill_parent" android:layout_height="40.0dip" android:src="@drawable/ic_sysbar_search_land" android:layout_weight="0.0" android:contentDescription="@string/accessibility_search" systemui:keyCode="84" systemui:glowBackground="@drawable/ic_sysbar_highlight_land" />
</LinearLayout>
<LinearLayout android:orientation="vertical" android:id="@id/lights_out" android:visibility="gone" android:layout_width="fill_parent" android:layout_height="fill_parent">
<ImageView android:layout_width="fill_parent" android:layout_height="40.0dip" android:src="@drawable/ic_sysbar_lights_out_dot_small" android:scaleType="center" android:layout_weight="0.0" />
<View android:visibility="invisible" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1.0" />
<ImageView android:layout_width="fill_parent" android:layout_height="80.0dip" android:src="@drawable/ic_sysbar_lights_out_dot_large" android:scaleType="center" android:layout_weight="0.0" />
<View android:visibility="invisible" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1.0" />
<ImageView android:layout_width="fill_parent" android:layout_height="80.0dip" android:src="@drawable/ic_sysbar_lights_out_dot_large" android:scaleType="center" android:layout_weight="0.0" />
<View android:visibility="invisible" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1.0" />
<ImageView android:layout_width="fill_parent" android:layout_height="80.0dip" android:src="@drawable/ic_sysbar_lights_out_dot_large" android:scaleType="center" android:layout_weight="0.0" />
<View android:visibility="invisible" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1.0" />
<ImageView android:layout_width="fill_parent" android:layout_height="40.0dip" android:src="@drawable/ic_sysbar_lights_out_dot_small" android:scaleType="center" android:layout_weight="0.0" />
</LinearLayout>
<View android:layout_gravity="left" android:id="@id/deadzone" android:clickable="true" android:layout_width="@dimen/navigation_bar_deadzone_size" android:layout_height="fill_parent" />
</FrameLayout>
<View android:id="@id/rot270" android:visibility="gone" android:layout_width="fill_parent" android:layout_height="fill_parent" />
</com.android.systemui.statusbar.phone.NavigationBarView>



上記のxmlで参照している主な画像ファイルが10つあります。

この画像は各自用意してください。

デフォルトではホームボタン、バックボタン、最近使ったアプリボタン、メニューボタンはありますがそれ以外のボタンの画像ファイルはありません。

上記の場合ですと、検索ボタンの画像がありませんので作成する必要があります。

ちなみに、ic_sysbar_back.pngic_sysbar_home.pngといった画像は、

SystemUI/res/drawable-xhdpiにありますので、同様に作成したic_sysbar_search.pngといった画像もSystemUI/res/drawable-xhdpiに保存しておきましょう。

また、ic_sysbar_back_land.pngic_sysbar_home_land.pngといった画像もありますが、この画像は横向き画面の場合に使われる画像になっています。
こちらも用意したほうがいいと思います。


xmlファイルの書き換えと、画像ファイルの作成の2つを行えば、

これでおそらくナビゲーションバーのアイコンが5つに増えていると思います。

少しうろ覚えなのでもしかすると出来ないかもしれませんが、文鎮化する恐れはないと思うので、

頑張ってください( ゚ー゚)ノ)"ガンバレ

関連記事

気に入ったらシェアお願いします♪

yuta
この記事を書いた人: yuta
理系大学院卒業後、企業でネットワークエンジニアしています。
時間のある時にブログ書いています。
ツイッターは今準備中でございます。

コメント0件

コメントはまだありません
ARROWS NX F-06E (13)
REGZA Phone T-01D (49)
NEXUS7 (17)
テンプレート (2)
スマートフォンあれこれ (116)
┣  モバイルバッテリー (6)
┣  スマホニュース (12)
┣  Androidメモ (1)
┣  バッテリー節約 (6)
┣  Androidアプリ (15)
┗  バッテリー記録 (3)
スマートフォン (80)
┣  iPhone5 (1)
┣  ARROWS X F-02E (3)
┣  Xperia AX SO-01E (7)
┣  ARROWS V F-04E (2)
┣  Xperia Z (2)
┣  スマートフォン for ジュニア SH-05E (1)
┣  N-02E ONE PIECE (1)
┣  Optimus LIFE L-02E (0)
┣  AQUOS PHONE ZETA SH-02E (1)
┣  Ascend HW-01E (1)
┣  L-06D JOJO (1)
┣  REGZA Phone T-02D (9)
┣  ELUGA power P-07D (1)
┣  Optimus LTE L-01D (1)
┣  ELUGA V P-06D (13)
┣  ARROWS me F-11D (1)
┣  GALAXY S III SC-06D (2)
┣  AQUOS PHONE ZETA SH-09D (1)
┣  MEDIAS N-07D (1)
┣  AQUOS PHONE sv SH-10D (5)
┣  らくらくスマートフォン F-12D (1)
┣  Xperia GX SO-04D (3)
┣  Xperia SX SO-05D (3)
┣  ARROWS X F-10D (2)
┣  キッズケータイ HW-01D (1)
┣  F-09D ANTEPRIMA (2)
┣  L-04D (1)
┣  AQUOS PHONE st SH-07D (1)
┣  ARROWS X LTE F-05D (2)
┣  Disney Mobile on docomo F-08D (1)
┗  AQUOS PHONE SH-01D (1)
持田香織 (47)
Every Little Thing (133)
┣  ELT曲 (29)
┣  ELTコンサート映像 (16)
┣  X'mas concert 2003 (1)
┣  every little thing:2003 tour MANY PIECES (6)
┣  Every Little Thing X'mas Concert 2008 (3)
┣  a-nation 2003 (3)
┣  a-nation 2010 (1)
┣  ELTテレビ出演 (15)
┣  ELTツアー関連 (42)
┣  ELTその他イベント等 (1)
┗  個人的な曲ランキング (5)
ゲーム (150)
┣  ポケモンBW2 (9)
┣  ポケモン (39)
┣  HGSS乱数 (1)
┣  ドラクエ (47)
┣  テリワン3D (3)
┣  テイルズ (16)
┣  世界樹の迷宮 (6)
┗  その他のゲーム (15)
miwa (12)
未分類 (35)
白ロム情報 (14)
日記 (526)
お知らせ (5)
タブレット関連 (6)
┣  View Pad 7e (1)
┣  Surface (1)
┗  dtab (1)
ファブレット (2)
┗  GALAXY Mega (1)
イーモバイル (1)
ブログ (0)
2013夏モデル (2)
だんじょんクエスト (1)
ぷよクエ (1)
Disney Mobile on docomo F-07E (1)
NEXUS4 (1)
NEXUS5 (1)
サモンズボード (1)
WiMAX (2)
Chomebook (2)