我试图弄清楚是否有一种方法可以用dp单位而不是像素来绘制到画布的位图.例如:以下代码将drawable缩放为100 * 100 px.我怎样才能改变它做100 * 100 dp?
int lengthPos = 10;int heightPos = 10mImage.setBounds(lengthPos, heightPos, (lengthPos + 100), (heightPos + 100));mImage.draw(c);
另外,我不确定屏幕点击的测量单位是多少,但它们与屏幕上的像素不匹配,这使得很难检测到何时选择了一个drawable(你有点猜测在哪里点击到选择一个drawable.我可以将点击坐标缩放到dp吗?看起来不会太难,特别是因为屏幕点击坐标存储在一个局部变量中以便在我的应用程序中处理.
换句话说,我需要匹配缩放,以便点击坐标250,250选择在多个屏幕密度上以250,250绘制的像素.
解决方法:
比率dp / dx等于您的设备dpi / 160,因此您可以通过这种方式轻松计算下降.
使用
displayMetrics dm = new displayMetrics();getwindowManager().getDefaultdisplay().getMetrics(dm);float density = dm.density
有关更多详细信息,请参阅参考资料:http://developer.android.com/reference/android/util/DisplayMetrics.html
总结以上是内存溢出为你收集整理的java – 以dp为单位将“drawables”绘制到画布上全部内容,希望文章能够帮你解决java – 以dp为单位将“drawables”绘制到画布上所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)