最終更新:2015-09-09 (水) 16:48:27 (3124d)
Android/ナビゲーションバー
ハードキーを持たない端末において、画面上にその代わりとなるホームボタンなどを配置
- 画面下部の戻る・ホーム・タスク一覧ボタン
概要
- New for phones in Android 4.0, the navigation bar is present only on devices that don't have the traditional hardware keys. It houses the device navigation controls Back, Home, and Recents, and also displays a menu for apps written for Android 2.3 or earlier.
Android/UI別
Android/Phone UI?
- 画面下部のソフトキー
Android/Tablet UI
表示設定
いじくれるカスタムROM
AOKP
CyanogenMod 9
- ナビゲーションバーのカスタムに対応
- http://androidlover.net/smartphone/galaxynexus/cyanogenmod-9-nightly-20120518.html
ツール
- LMT Launcher
- Button Savior
- Virtual Button Bar?
- SoftKeys for ROOT USERS?
ソースコード
- AOSP/frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar
- AOSP/frameworks/base/packages/SystemUI/res/layout/navigation_bar.xml?
実装
- AOSP/frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindowManager.javaで
- BarController mNavigationBarController? = new BarController("NavigationBar?"...
表示フラグ
- WindowManagerPolicy.setInitialDisplaySize?で
mHasNavigationBar = res.getBoolean(com.android.internal.R.bool.config_showNavigationBar); // Allow a system property to override this. Used by the emulator. // See also hasNavigationBar(). String navBarOverride = SystemProperties.get("qemu.hw.mainkeys"); if ("1".equals(navBarOverride)) { mHasNavigationBar = false; } else if ("0".equals(navBarOverride)) { mHasNavigationBar = true; }
- 関数の定義
- AOSP/frameworks/base/core/java/android/view/WindowManagerPolicy.java?
- 実装
- 見ているフラグ
- そのフラグの定義
- AOSP/frameworks/base/core/res/res/values/config.xml
- AOSP/deviceの中のconfig.xmlで上書き可能
- AOSP/frameworks/base/core/res/res/values/config.xml
Android/エミュレータの場合
- qemu.hw.mainkeys?