java - `canvas.drawCircle`方法的半径是dp单位吗?

标签 java android canvas

只是一个简单的问题。在android中,使用Canvas绘制圆的代码如下。

canvas.drawCircle (float cx, float cy, float radius, Paint paint)

我读了documentation查明此 float 半径是 dp 单位还是任何其他单位。没有这样的提及。

那么,这个 float 半径的单位是什么?是dp单位吗?

最佳答案

在 android 中,使用 Canvasfloat 参数绘制圆的代码以 pixels 为单位。

你说的float,就是float的像素表示。

下面是 dp 转 px 和 px 转 dp 的示例代码。

To convert dp to pixel.

public static int dp2px(Resources resource, int dp) {
    return (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP,   dp,resource.getDisplayMetrics());
}

To convert pixel to dp.

 public static float px2dp(Resources resource, float px)  {
    return (float) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_PX, px,resource.getDisplayMetrics());
}

Conversion Code is from here.

关于java - `canvas.drawCircle`方法的半径是dp单位吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38321526/

相关文章:

android - 如何在 Android 中以编程方式检测移动设备制造商和模型?

带有 'yield' 关键字的 Javascript 生成器

c# - Java 中的 TreeSet 等同于 C#.net

java - 返回单个数组值,每个方法调用从索引 0 开始,每次调用递增 1。

Android 滑动布局以关闭

java - GooglePlay 服务 AdMob

silverlight - 如何为 silverlight Canvas 设置背景?

javascript - 如何只清除矩形边框? (JS, Canvas )

java - 配置 Spring 数据和嵌入的 neo4j 时出错

java - Java 模糊测试库