系统5.1
相关文章: 安卓添加虚拟按键
1.修改以下两个文件中home和recent_app的visibility属性为gone(属性为隐藏)
frameworks/base/packages/SystemUI/res/layout-sw600dp/navigation_bar.xml
frameworks/base/packages/SystemUI/res/layout/navigation_bar.xml
--- a/frameworks/base/packages/SystemUI/res/layout-ldrtl/navigation_bar.xml
+++ b/frameworks/base/packages/SystemUI/res/layout-ldrtl/navigation_bar.xml
@@ -70,6 +70,7 @@
systemui:keyCode="3"
systemui:keyRepeat="true"
android:layout_weight="0"
+ android:visibility="gone"
systemui:glowBackground="@drawable/ic_sysbar_highlight"
android:contentDescription="@string/accessibility_home"
/>
@@ -78,6 +79,7 @@
android:layout_height="match_parent"
android:src="@drawable/ic_sysbar_recent"
android:layout_weight="0"
+ android:visibility="gone"
systemui:glowBackground="@drawable/ic_sysbar_highlight"
android:contentDescription="@string/accessibility_recent"
/>
@@ -236,6 +238,7 @@
systemui:keyCode="3"
systemui:keyRepeat="true"
android:layout_weight="0"
+ android:visibility="gone"
systemui:glowBackground="@drawable/ic_sysbar_highlight"
android:contentDescription="@string/accessibility_home"
/>
@@ -244,6 +247,7 @@
android:layout_height="match_parent"
android:src="@drawable/ic_sysbar_recent"
android:layout_weight="0"
+ android:visibility="gone"
systemui:glowBackground="@drawable/ic_sysbar_highlight"
android:contentDescription="@string/accessibility_recent"
/>
如果需要替换掉虚拟按键的图标,根据布局文件的文件名到(如 android:src="@drawable/ic_sysbar_recent" ,对应图片ic_sysbar_recent.png)找到对应图片替换即可
2.NavigationBarView在代码中将Home和RecentApp可见性设为GONE:
frameworks/base/packages/SystemUI/src/com/Android/systemui/statusbar/phone/NavigationBarView.Java
- a/frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarView.java
+++ b/frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarView.java
@@ -484,6 +484,8 @@ public class NavigationBarView extends LinearLayout {
getBackButton() .setVisibility(disableBack ? View.INVISIBLE : View.VISIBLE);
getHomeButton() .setVisibility(disableHome ? View.INVISIBLE : View.VISIBLE);
getRecentsButton().setVisibility(disableRecent ? View.INVISIBLE : View.VISIBLE);
+ getHomeButton().setVisibility(View.GONE);
+ getRecentsButton().setVisibility(View.GONE);
/// M: add for multi window @{
if(RecentsActivity.FLOAT_WINDOW_SUPPORT){
diff --git a/frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java b/frameworks/base/packages
index 6ac08b4..23d4ad0 100644
--- a/frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java
+++ b/frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java
@@ -1283,6 +1283,8 @@ private boolean musbmounted = false;
mNavigationBarView.getFloatButton().setOnClickListener(mFloatClickListener);
}
/// @}
+ mNavigationBarView.getHomeButton().setVisibility(View.GONE);
+ mNavigationBarView.getRecentsButton().setVisibility(View.GONE);
updateSearchPanel();
}