我使用9330模拟器开发我的应用程序,现在一旦我把它放在黑莓粗体上,我注意到我的文本和图像在设备上看起来比模拟器小得多。无论如何要解决这个问题而不必改变每个物体的高度和宽度?也许我需要使用Display.getHeight()和.getWidth()而不是硬编码数字?
答案 0 :(得分:0)
是的,您不应将任何数字硬编码为粗体,曲线具有不同的屏幕分辨率
曲线:8800s,8300s,8500s,9300s 320x240
Bold:8900s,9000s,9600s,9700s 480x360,480x320(Bold 9000)
您必须更改使用该数字的每个地方,并在需要时更改为gethHeight和getWidth()
答案 1 :(得分:0)
我处理此问题的一种方法是使我的元素大小变量。我这样做,在加载应用程序时,检测屏幕大小并应用乘以一个给定%修改我的元素的乘数,%取决于屏幕大小。我通过采用基本屏幕大小计算这些百分比,并查看屏幕尺寸从一个型号到另一个型号的不同,我相信只有4种屏幕尺寸。
答案 2 :(得分:0)
对于图像,您应该缩放对象,如下所示:
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));