我正在使用 1.6 版本的 ZXing 条码扫描器代码。
虽然来自 Android Market (3.53) 的这个应用程序的版本在我的 Incredible 上运行良好,但当我自己编译时 ViewFinderView 看起来有问题(3.5beta)。
我发现 ViewFinderView 的默认画布大小(填满整个屏幕)是 533x320,而实际屏幕尺寸是 800x480。
因此在 onDraw 方法中,ViewFinderView 假设取景器矩形的屏幕坐标,但将它们应用到 onDraw 的画布坐标中。这会导致取景器在 x 和 y 维度上画得太远和太大。
那么是什么决定了您的 View 获得的画布的实际尺寸?在我的例子中,画布与屏幕坐标相比缩小了三分之一。我在 3.5beta 版和 3.53 版之间找不到可能影响这一点的代码差异。