忍者ブログ
androplus.orgへ移転しました。
数秒後に移動します。

[PR]

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。


ナビバーのボタン配置変更

ナビゲーションバーのボタンの配置を変更します。
(これまたLMTを使っているので私にとっては不要なのですが)

SystemUI.apk eslayout
avigation_bar.xml
このファイルでナビバーのボタン配置が指定されています。

最初の
<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" android:directionality="none">
以下が縦画面用で、
最後の方の
<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" android:directionality="none">
以下が横画面用です。

ボタン配置は私のsystemUI.apkでは
            <com.android.systemui.statusbar.policy.KeyButtonView android:id="@id/search" android:layout_width="60.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" />
            <com.android.systemui.statusbar.policy.KeyButtonView android:id="@id/back" android:layout_width="80.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" />
            <com.android.systemui.statusbar.policy.KeyButtonView android:id="@id/home" android:layout_width="80.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:glowBackground="@drawable/ic_sysbar_highlight" />
            <com.android.systemui.statusbar.policy.KeyButtonView android:id="@id/power" android:visibility="invisible" android:layout_width="0.0dip" android:layout_height="fill_parent" android:layout_weight="0.0" android:contentDescription="@string/accessibility_power" />
            <com.android.systemui.statusbar.policy.KeyButtonView android:id="@id/recent_apps" android:layout_width="80.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" />
            <com.android.systemui.statusbar.policy.KeyButtonView android:id="@id/menu" android:layout_width="60.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" />
このようになっています。
この状態だと

この画像のような並びになります。
使わないのでテキトーに変更したままです…。

各ボタンは
<com.android.systemui.statusbar.policy.KeyButtonView android:id="@id/ボタンのID" android:layout_width="60.0dip" android:layout_height="fill_parent" android:src="@drawable/ic_sysbar_ボタンのID" android:layout_weight="0.0" android:contentDescription="@string/accessibility_ボタンのID" systemui:keyCode="ボタンのキーコード" systemui:glowBackground="@drawable/ic_sysbar_highlight" />
というふうになっています。
android:id=でボタンのID、android:src=でボタンの画像、
android:contentDescription=でボタンの説明テキストを指定しています。
特に重要なのがsystemui:keyCode=で、これがボタンの機能を指定しています。
キーコードはこのページで見られます。
framework-res.apk es aluesattrs.xmlの<attr name="keycode">以下にも書かれています。

ボタンの下に
<com.android.systemui.statusbar.policy.KeyButtonView android:id="@id/recent_apps" android:visibility="invisible" android:layout_width="0.0dip" android:layout_height="fill_parent" android:layout_weight="0.0" android:contentDescription="@string/accessibility_recent" />

というふうに追加するとボタンを長押ししたときの動作にすることができます。

たとえば電源キーはいらないから、と電源キーの部分を他のキーに変えるだけでは
コンパイル時にエラーがでる(public.xmlなどの編集が必要)はずなので、
面倒であれば長押しの部分に指定してやればいいと思います。


SystemUI.apk eslayout
avigation_bar.xml
このファイルでナビバーのボタン配置が指定されています。

最初の
<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" android:directionality="none">
以下が縦画面用で、
最後の方の
<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" android:directionality="none">
以下が横画面用です。

ボタン配置は私のsystemUI.apkでは
            <com.android.systemui.statusbar.policy.KeyButtonView android:id="@id/search" android:layout_width="60.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" />
            <com.android.systemui.statusbar.policy.KeyButtonView android:id="@id/back" android:layout_width="80.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" />
            <com.android.systemui.statusbar.policy.KeyButtonView android:id="@id/home" android:layout_width="80.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:glowBackground="@drawable/ic_sysbar_highlight" />
            <com.android.systemui.statusbar.policy.KeyButtonView android:id="@id/power" android:visibility="invisible" android:layout_width="0.0dip" android:layout_height="fill_parent" android:layout_weight="0.0" android:contentDescription="@string/accessibility_power" />
            <com.android.systemui.statusbar.policy.KeyButtonView android:id="@id/recent_apps" android:layout_width="80.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" />
            <com.android.systemui.statusbar.policy.KeyButtonView android:id="@id/menu" android:layout_width="60.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" />
このようになっています。
この状態だと

この画像のような並びになります。
使わないのでテキトーに変更したままです…。

各ボタンは
<com.android.systemui.statusbar.policy.KeyButtonView android:id="@id/ボタンのID" android:layout_width="60.0dip" android:layout_height="fill_parent" android:src="@drawable/ic_sysbar_ボタンのID" android:layout_weight="0.0" android:contentDescription="@string/accessibility_ボタンのID" systemui:keyCode="ボタンのキーコード" systemui:glowBackground="@drawable/ic_sysbar_highlight" />
というふうになっています。
android:id=でボタンのID、android:src=でボタンの画像、
android:contentDescription=でボタンの説明テキストを指定しています。
特に重要なのがsystemui:keyCode=で、これがボタンの機能を指定しています。
キーコードはこのページで見られます。
framework-res.apk es aluesattrs.xmlの<attr name="keycode">以下にも書かれています。

ボタンの下に
<com.android.systemui.statusbar.policy.KeyButtonView android:id="@id/recent_apps" android:visibility="invisible" android:layout_width="0.0dip" android:layout_height="fill_parent" android:layout_weight="0.0" android:contentDescription="@string/accessibility_recent" />

というふうに追加するとボタンを長押ししたときの動作にすることができます。

たとえば電源キーはいらないから、と電源キーの部分を他のキーに変えるだけでは
コンパイル時にエラーがでる(public.xmlなどの編集が必要)はずなので、
面倒であれば長押しの部分に指定してやればいいと思います。



Copyright ©  -- Legacy AndroPlus --  All Rights Reserved
PR
忍者ブログ / [PR]