Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/209.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android上的密度_Android - Fatal编程技术网

Android上的密度

Android上的密度,android,Android,我正在尝试在Android中呈现自定义按钮。但是,我在不缩放的情况下渲染位图时遇到问题。我有一些限制,迫使我放弃一些可能的解决方案。首先,我的位图是通过BitmapFactory使用字节数组生成的;我正在传递位图选项,为其指定inScaled=false。第二,我必须在代码中完成所有工作,并且不能使用布局XML 当我使用默认行为绘制自定义按钮(扩展视图)时,我尝试使用DENSITY\u NONE和bitmap.getDensity()(160)在画布上调用setDensity。尽管如此,我无法在

我正在尝试在Android中呈现自定义按钮。但是,我在不缩放的情况下渲染位图时遇到问题。我有一些限制,迫使我放弃一些可能的解决方案。首先,我的位图是通过BitmapFactory使用字节数组生成的;我正在传递位图选项,为其指定inScaled=false。第二,我必须在代码中完成所有工作,并且不能使用布局XML

当我使用默认行为绘制自定义按钮(扩展视图)时,我尝试使用DENSITY\u NONE和
bitmap.getDensity()
(160)在画布上调用
setDensity
。尽管如此,我无法在不放大的情况下渲染位图。我尝试过在创建位图时设置更多选项(如目标密度、屏幕密度等),但这些选项的组合都不起作用。该代码在运行2.1的三星Galaxy S和运行2.1的HTC Droid Inclusible上“失败”。在运行1.5的HTC Hero上进行测试时,有些东西是可行的,但在密度测试之前:/

有人有什么建议吗

谢谢

更新:

我对自己的问题有点茫然。问题似乎在于潜在的观点。如果我试着画一条法线,我也会得到缩放。这只发生在风景中,而不是肖像中。有没有办法禁用两个方向之间的缩放

  • 通过目标SDK>=4或显式设置android:anyDensity=“true”,确保已关闭屏幕兼容性模式
  • 请勿更改画布的密度。这就是屏幕密度。它不应该撒谎
  • 适当设置生成位图的密度。密度与屏幕相同,或密度为零

  • 我建议你把整个画法的代码贴出来。