读书人

(难 !)批改system bar 的宽 度(难 !)

发布时间: 2013-08-10 21:14:06 作者: rapoo

(难 !!!)修改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);
}


类似这种,我忘了是哪个了,你可以修改layout属性就可以达到你要的效果了

读书人网 >Android

热点推荐