首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > Android >

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

2013-08-10 
(难 !!!)修改system bar 的宽 度(难 !!!)请教个问题 弄了好久都没弄好 System UI 的宽度 即 system bar的

(难 !!!)修改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属性就可以达到你要的效果了

热点排行