【发布时间】:2011-09-01 14:32:28
【问题描述】:
我使用 9330 模拟器来开发我的应用程序,现在将它放在黑莓粗体上后,我注意到我的文本和图像在设备上看起来比模拟器小得多。有没有办法解决这个问题而不必改变每个对象的高度和宽度?也许我需要更多地使用 Display.getHeight() 和 .getWidth() 而不是硬编码数字?
【问题讨论】:
标签: blackberry fonts device
我使用 9330 模拟器来开发我的应用程序,现在将它放在黑莓粗体上后,我注意到我的文本和图像在设备上看起来比模拟器小得多。有没有办法解决这个问题而不必改变每个对象的高度和宽度?也许我需要更多地使用 Display.getHeight() 和 .getWidth() 而不是硬编码数字?
【问题讨论】:
标签: blackberry fonts device
我处理这个问题的一种方法是使元素的大小可变。我这样做是通过在加载应用程序时检测屏幕尺寸并应用一个乘数来修改我的元素给定的百分比,百分比取决于屏幕尺寸。我通过采用基本屏幕尺寸并查看屏幕尺寸从一种型号到另一种型号的变化来计算这些百分比,我相信只有 4 种屏幕尺寸。
【讨论】:
是的,您不应该硬编码任何数字,因为粗体和曲线具有不同的屏幕分辨率
曲线:8800s、8300s、8500s、9300s 320x240
粗体:8900s、9000s、9600s、9700s 480x360、480x320(粗体 9000)
您必须更改使用该数字的每个位置,并在需要时更改为 gethHeight 和 getWidth()
【讨论】:
对于图像,您应该缩放对象,如下所示:
Bitmap bitmap = new Bitmap(width, height);
yourBitmap.scaleInto(bitmap, Bitmap.FILTER_BILINEAR);
对于文本,您应该使用如下内容:
LabelField field = new LabelField("TEST");
field.setFont(field.getFont().derive(Font.PLAIN, yourFontSize));
【讨论】: