各位程序员好!
在圣诞节假期期间,我开始开发一个填字游戏应用程序,并在我的三星 Galaxy S2 上对其进行了彻底的测试,因为它是我当时唯一拥有的设备。现在回到工作岗位,我还可以使用 Acer Iconia 和 Kindle Fire HD。问题是我的应用在任一平板电脑上看起来完全模糊。
我的应用程序不使用任何预制图像,一切都是从 xml 可绘制对象(主要是渐变)中绘制的。虽然没有必要,但我将所有 xml 渐变复制到所有 dpi 文件夹(ldpi、mdpi、hdpi、xhdpi)。我还在清单中明确添加了supports-screens 标签,将smallscreens 添加到xlargescreens 和anydensity。没有任何效果。
我的绘图程序如下所示:
canvas.save();
canvas.translate(mPosX, mPosY);
canvas.scale(zoom, zoom,centerx,centery);
for(int x=0;x<mapsize;x++)
for(int y=0;y<mapsize;y++) {
this.gc.setBounds(cells[x][y]);
this.gc.draw(canvas);
}
canvas.restore();
开始时,我找出设备的最小边(800x480 = 480),将其除以填字游戏中的单元格数(15),因此我得到 S2 的单元格大小为 32。我只画了 15x15 的瓷砖,每个瓷砖的尺寸为 32x32。这在我的手机上看起来很清晰,即使我放大 15 倍,文本和图形也保持清晰。不是在平板电脑上,图形从一开始就模糊不清,越放大越糟糕。在 Acer Iconia 上,箭头甚至没有绘制,它们都在左上角杂乱无章,尽管 Logcat 说偏移量是正确计算的,他们只是似乎没有在其他任何地方被吸引。我认识到的一件事是当我在 Acer Iconia 上启动应用程序时,Logcat 还说
01-07 11:39:35.292: D/libEGL(7914): loaded /system/lib/egl/libEGL_tegra.so
01-07 11:39:35.292: E/(7914): file /data/data/com.nvidia.NvCPLSvc/files/driverlist.txt: not found!
01-07 11:39:35.292: I/(7914): Attempting to load EGL implementation /system/lib//egl/libEGL_tegra_impl
01-07 11:39:35.302: I/(7914): Loaded EGL implementation /system/lib//egl/libEGL_tegra_impl
01-07 11:39:35.302: D/libEGL(7914): loaded /system/lib/egl/libGLESv1_CM_tegra.so
01-07 11:39:35.302: D/libEGL(7914): loaded /system/lib/egl/libGLESv2_tegra.so
01-07 11:39:35.332: I/(7914): Loading GLESv2 implementation /system/lib//egl/libGLESv2_tegra_impl
01-07 11:39:35.332: D/OpenGLRenderer(7914): Enabling debug mode 0
加载某些驱动程序似乎存在问题,有人对此了解更多吗?在网上找不到太多关于它的信息。
最后是一些图片,上面有 1000 多字。
夏普 http://imageshack.us/photo/my-images/338/crosswords21.png http://imageshack.us/photo/my-images/593/crosswords22.png/ 三星 Galaxy S2
模糊,箭头在正确的位置 http://imageshack.us/photo/my-images/850/crosswordkindle1.png http://imageshack.us/photo/my-images/252/crosswordkindle2.png/ Kindle Fire HD
左上角的箭头模糊不清 http://imageshack.us/photo/my-images/259/crosswordiconia1.png http://imageshack.us/photo/my-images/803/crosswordiconia2.png/ Acer Iconia
请帮助我:) 提前谢谢。
刚刚发现这个我的 android 应用程序中的所有文本都变得模糊。似乎是 Iconia Tab 的常见问题。