
Toolkit toolkit=ToolkitgetDefaultToolkit();
Dimension d=toolkitgetScreenSize();
with=dwidth;//宽
height=dheight;//高
Dimension screenSize = ToolkitgetDefaultToolkit()getScreenSize(); //得到屏幕的尺寸
screenSizewidth //宽度
screenSizeheight //高度
导入 import 'dart:ui';
1获取 windowplatformBrightness 的值 如果是 Brightnesslight 代表是正常模式, 如果是Brightnessdark代表是暗黑模式
2获取屏幕宽高
final double screenWidth = windowphysicalSizewidth/windowdevicePixelRatio;
final double screenHeight = windowphysicalSizeheight/windowdevicePixelRatio;
继承SurfaceView 类写的也可以继承View类写
public class GetWHSurfaceView extends SurfaceView implements Callback,Runnable{
private int textX = 20, textY = 20;
private int screenHeight;
private int screenWidth;
private SurfaceHolder sfh;
private boolean flag;
private Thread th;
//画布
private Canvas canvas;
public GetWHSurfaceView(Context context) {
super(context);
sfh = thisgetHolder();
sfhaddCallback(this);
canvas = new Canvas();
Paint paintText;
paintText = new Paint();
thissetKeepScreenOn(true);
setFocusable(true);
setFocusableInTouchMode(true);
}
/
重写触屏事件函数
/
@Override
public boolean onTouchEvent(MotionEvent event) {
int x = (int)eventgetX();
int y = (int)eventgetY();
//玩家手指点击屏幕的动作
if (eventgetAction() == MotionEventACTION_DOWN) {
textX = x;
textY = y;
//玩家手指抬起离开屏幕的动作
} else if (eventgetAction() == MotionEventACTION_MOVE) {
textX = x;
textY = y;
//玩家手指在屏幕上移动的动作
} else if (eventgetAction() == MotionEventACTION_UP) {
textX = x;
textY = y;
}
return true;
}
public void myDraw()
{
//绘制背景色
canvas = sfhlockCanvas();
try {
if(canvas != null)
{
//创建一个画笔的实例
Paint paint = new Paint();
paintsetColor(ColorBLACK);
canvasdrawRect(0, 0, thisgetWidth(), thisgetHeight(), paint);
//设置画笔的颜色
paintsetColor(ColorWHITE);
//绘制文本
canvasdrawText(StringvalueOf(textX), textX, textY, paint);
canvasdrawText(StringvalueOf(textY), textX+25, textY, paint);
canvasdrawText(StringvalueOf(screenWidth), 280, 20, paint);
canvasdrawText(StringvalueOf(screenHeight),280+20, 20, paint);
}
} catch (Exception e) {
}finally
{
sfhunlockCanvasAndPost(canvas);
}
}
@Override
public void run() {
while(flag)
{
long start = SystemcurrentTimeMillis();
myDraw();
long end = SystemcurrentTimeMillis();
try {
if(end - start < 50)
{
Threadsleep(50 -(end-start));
Systemoutprint("run");
}
} catch (InterruptedException e) {
eprintStackTrace();
}
}
}
@Override
public void surfaceChanged(SurfaceHolder holder, int format, int width,
int height) {
// TODO Auto-generated method stub
}
@Override
public void surfaceCreated(SurfaceHolder holder) {
screenHeight = thisgetHeight();
screenWidth = thisgetWidth();
flag = true;
th = new Thread(this);
thstart();
}
@Override
public void surfaceDestroyed(SurfaceHolder holder) {
flag = false;
}
}
以上就是关于java中怎么知道屏幕的宽和高全部的内容,包括:java中怎么知道屏幕的宽和高、JAVA(Swing编程),怎样获取用户的屏幕长和宽!、Flutter 获取是否是暗黑模式,屏幕宽度,屏幕高度等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)