添加定制按钮 音量加 音量减 截屏 隐藏
1. frameworks/base/packages/SystemUI/res/values/config.xml
<string name="config_navBarLayout"translatable="false">
space,capture,back;home;recent,volume_subtract,volume_add,hide,menu_ime</string>
2.frameworks/base/packages/SystemUI/res/values/string.xml
<string name="accessibility_capture">Capture</string>
<string name="accessibility_volume_subtract">VolumeSubtract</string>
<string name="accessibility_volume_add">VolumeAdd</string>
<string name="accessibility_bar_hide">Hide</string>
3.frameworks/base/packages/SystemUI/res/layout/custom_bar_hide.xml
<com.android.systemui.statusbar.policy.KeyButtonView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:systemui="http://schemas.android.com/apk/res-auto"
android:id="@+id/ff_bar_hide"
android:layout_width="@dimen/navigation_key_width"
android:layout_height="match_parent"
android:layout_weight="0"
android:src="@drawable/ic_sysbar_hide"
android:scaleType="center"
android:contentDescription="@string/accessibility_bar_hide"
android:paddingStart="@dimen/navigation_key_padding"
android:paddingEnd="@dimen/navigation_key_padding"
/>
4.frameworks/base/packages/SystemUI/res/layout/custom_capture.xml
<com.android.systemui.statusbar.policy.KeyButtonView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:systemui="http://schemas.android.com/apk/res-auto"
android:id="@+id/ff_capture"
android:layout_width="@dimen/navigation_key_width"
android:layout_height="match_parent"
android:layout_weight="0"
android:src="@drawable/ic_sysbar_screenshot"
android:scaleType="center"
android:contentDescription="@string/accessibility_capture"
android:paddingStart="@dimen/navigation_key_padding"
android:paddingEnd="@dimen/navigation_key_padding"
/>
5.frameworks/base/packages/SystemUI/res/layout/custom_volume_add.xml
<com.android.systemui.statusbar.policy.KeyButtonView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:systemui="http://schemas.android.com/apk/res-auto"
android:id="@+id/ff_volume_add"
android:layout_width="@dimen/navigation_key_width"
android:layout_height="match_parent"
android:layout_weight="0"
android:src="@drawable/add_normal"
systemui:keyCode="24"
android:scaleType="center"
android:contentDescription="@string/accessibility_volume_add"
android:paddingStart="@dimen/navigation_key_padding"
android:paddingEnd="@dimen/navigation_key_padding"
/>
6.frameworks/base/packages/SystemUI/res/layout/custom_volume_subtract.xml
<com.android.systemui.statusbar.policy.KeyButtonView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:systemui="http://schemas.android.com/apk/res-auto"
android:id="@+id/ff_volume_subtract"
android:layout_width="@dimen/navigation_key_width"
android:layout_height="match_parent"
android:layout_weight="0"
android:src="@drawable/sub_normal"
systemui:keyCode="25"
android:scaleType="center"
android:contentDescription="@string/accessibility_volume_subtract"
android:paddingStart="@dimen/navigation_key_padding"
android:paddingEnd="@dimen/navigation_key_padding"
/>
7.frameworks/base/packages/SystemUI/src/com/android/systemui/screenshot/TakeScreenshotService.java
--- a/packages/SystemUI/src/com/android/systemui/screenshot/TakeScreenshotService.java
+++ b/packages/SystemUI/src/com/android/systemui/screenshot/TakeScreenshotService.java
@@ -67,6 +67,20 @@ public class TakeScreenshotService extends Service {
case WindowManager.TAKE_SCREENSHOT_SELECTED_REGION:
mScreenshot.takeScreenshotPartial(finisher, msg.arg1 > 0, msg.arg2 > 0);
break;
+ case 3:
+ if (mScreenshot == null) {
+ mScreenshot = new GlobalScreenshot(TakeScreenshotService.this);
+ }
+ mScreenshot.takeScreenshot(new Runnable() {
+ @Override public void run() {
+ Message reply = Message.obtain(null, 3);
+ try {
+ callback.send(reply);
+ } catch (RemoteException e) {
+ }
+ }
+ }, msg.arg1 > 0, msg.arg2 > 0);
+ break;
}
}
};
8.frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/CommandQueue.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/CommandQueue.java
@@ -77,6 +77,7 @@ public class CommandQueue extends IStatusBar.Stub {
private static final int MSG_APP_TRANSITION_FINISHED = 31 << MSG_SHIFT;
private static final int MSG_DISMISS_KEYBOARD_SHORTCUTS = 32 << MSG_SHIFT;
private static final int MSG_HANDLE_SYSNAV_KEY = 33 << MSG_SHIFT;
+ private static final int MSG_SHOW_NAVIGATIONBAR = 34 << MSG_SHIFT;//add feifei
public static final int FLAG_EXCLUDE_NONE = 0;
public static final int FLAG_EXCLUDE_SEARCH_PANEL = 1 << 0;
@@ -133,11 +134,20 @@ public class CommandQueue extends IStatusBar.Stub {
void clickTile(Compo