java中怎么知道屏幕的宽和高

java中怎么知道屏幕的宽和高,第1张

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 获取是否是暗黑模式,屏幕宽度,屏幕高度等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9704494.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-01
下一篇2023-05-01

发表评论

登录后才能评论

评论列表(0条)

    保存