Android移植 - 状态栏自定义

时间:2011-03-17 10:41:06

标签: android porting statusbar

您好我正在尝试修改android中的状态栏图标。要修改的文件statusbar_background.9.png。 但有人可以建议我如何让它变得透明吗? 至于自定义,我们可以将状态栏宽度调整为相对大小吗?是指,根据屏幕上显示的图标数量? 我正在修改文件/frameworks/base/packages/systemui/src/com/android/systemui/statusbar/statusbarservice.java

请给我一些建议 谢谢 抗体

1 个答案:

答案 0 :(得分:2)

最后我找到了问题的答案 我改变了以下内容:
android:background="@drawable/statusbar_background"

android:background="@android:color/transparent"

/framework/base/packages/systemui/res/statusbar.xml文件中。

要调整状态栏的大小,需要执行以下操作: 使用以下内容修改protected void addStatusBarView()文件中的StatusbarService.java函数:

WindowManager.LayoutParams lp = new WindowManager.LayoutParams(
                //abhi 17 mar ViewGroup.LayoutParams.MATCH_PARENT,
                mwidth, //specify the width of statusbar.. 
                height,
                WindowManager.LayoutParams.TYPE_STATUS_BAR,
                WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE
                    | WindowManager.LayoutParams.FLAG_TOUCHABLE_WHEN_WAKING,

                PixelFormat.TRANSPARENT
                );
        // abhi 15 march lp.gravity = Gravity.TOP | Gravity.FILL_HORIZONTAL;
        lp.gravity = Gravity.TOP | Gravity.LEFT;
        lp.setTitle("StatusBar");
        //lp.gravity = Gravity.CENTER;//abhi 18 march
        lp.windowAnimations = com.android.internal.R.style.Animation_StatusBar;
        lp.x = 25; // to move status bar to x position
        WindowManagerImpl.getDefault().addView(view, lp);

.....
}