Android计算绘图的屏幕尺寸

标签 android size brush

我正在尝试在我的应用程序中绘图,所以我希望我的画笔大小为设备屏幕的 10%,这意味着对于所有设备,它的大小应该不同。 我在 android 开发人员指南中阅读 Here关于 dp.

        getScreenSizeDpi();
        m_brushSize = (int)(area * brush_percentages)/100;
        circle_area = m_brushSize * m_brushSize * Math.PI;
}

方法:

private void getScreenSizeDpi() {
    DisplayMetrics displayMetrics = getResources().getDisplayMetrics();
    float dpHeight = displayMetrics.heightPixels / displayMetrics.density;
    float dpWidth = displayMetrics.widthPixels / displayMetrics.density;

    area = dpHeight * dpWidth;
}

但我只想得到画笔大小的圆圈,谢谢大家。

最佳答案

如果您在 Activity

中,请使用以下代码获取屏幕尺寸
Display display = getWindowManager().getDefaultDisplay();
Point size = new Point();
display.getSize(size);
int width = size.x;
int height = size.y;

如果您不在 Activity 中,请使用它来获取 Display 对象

WindowManager wm = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
Display display = wm.getDefaultDisplay();

然后设置画笔大小

brush_size = 0.1 * width;// or 0.1 * height 

关于Android计算绘图的屏幕尺寸,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36288719/

相关文章:

android - 在 Activity 中显示 fragment - 无法实例化类

Android 应用程序在某些手机上使用的 RAM 多于最大堆大小

c# - 画笔算法/颜色褪色模式 - 需要建议

d3.js - Focus/Context Brushing + Pan/Zoom graph - 如何限制平移

c# - C#数组的元素大小?

javascript - HTML5 canvas paint 调色工具

android - 在 Unity 移动应用程序中获取加载的 AdMob 广告目标 URL

android - 抽屉导航中的错误

android - 测量要在 Canvas 上绘制的文本高度(Android)

c# - System.Windows.Size 和 System.Drawing.Size 有什么区别?