(难 !!!)修改system bar 的宽 度(难 !!!)
请教个问题 弄了好久都没弄好
System UI 的宽度 即 system bar的 宽度如何修改
找到了 修改高度的办法 修改状态栏的高度,需要在/frameworks/base/core/res/resalues/dimens.xml文件中修改。
但如何修改 这个system bar 的宽 度 ?
对应的控件就是这个
frameworks\base\packages\SystemUI\res\layout\system_bar.xml
<com.android.systemui.statusbar.tablet.TabletStatusBarView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:systemui="http://schemas.android.com/apk/res/com.android.systemui"
android:layout_height="fill_parent"
android:background="@drawable/system_bar_background"
>
但在这里改高度和宽度完全没用
Android UI 框架 控件 systemBar
[解决办法]
private void addIntruderView() {
final int height = getStatusBarHeight();
WindowManager.LayoutParams lp = new WindowManager.LayoutParams(
ViewGroup.LayoutParams.MATCH_PARENT,
ViewGroup.LayoutParams.WRAP_CONTENT,
WindowManager.LayoutParams.TYPE_STATUS_BAR_SUB_PANEL,
WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN
[解决办法]
WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS
[解决办法]
WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL
[解决办法]
WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE
[解决办法]
WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM
[解决办法]
WindowManager.LayoutParams.FLAG_SPLIT_TOUCH,
PixelFormat.TRANSLUCENT);
lp.gravity = Gravity.TOP
[解决办法]
Gravity.FILL_HORIZONTAL;
lp.y += height * 1.5; // FIXME
lp.setTitle("IntruderAlert");
lp.packageName = mContext.getPackageName();
lp.windowAnimations = R.style.Animation_StatusBar_IntruderAlert;
WindowManagerImpl.getDefault().addView(mIntruderAlertView, lp);
}