我正在为
Android写一个动态壁纸.为了测试我的基本代码是否正常工作,我在屏幕的左上角显示了一个矩形:
canvas.drawRect(0f,0f,50f,paint);
矩形的一半位于主屏幕顶部的栏下方.
我尝试使用以下方法考虑像素偏移:
public void onOffsetsChanged(float xOffset,float yOffset,float xOffsetStep,float yOffsetStep,int xPixelOffset,int yPixelOffset) ... canvas.drawRect(0f+xPixelOffset,0f+yPixelOffset,50f+xPixelOffset,50f+yPixelOffset,paint);
但矩形仍然在条形图下方绘制.怎么找到酒吧的哪里结束所以我可以在它下面画?
干杯,
皮特
解决方法
这个SO答案似乎提供了一种获取状态栏高度的方法:
Height of statusbar?
我复制了下面的代码 – 最初由 Jorgesys回答.
我复制了下面的代码 – 最初由 Jorgesys回答.
Rect rectgle= new Rect(); Window window= getWindow(); window.getDecorView().getWindowVisibleDisplayFrame(rectgle); int StatusBarHeight= rectgle.top; int contentViewTop= window.findViewById(Window.ID_ANDROID_CONTENT).getTop(); int TitleBarHeight= contentViewTop - StatusBarHeight; Log.i("*** Jorgesys :: ","StatusBar Height= " + StatusBarHeight + ",TitleBar Height = " + TitleBarHeight);
希望能帮助到你.