我创建了一个应用程序来计算多图像的大小,以便在Codename One设计器中使用它们。
正如您在下面的屏幕截图中看到的,我的应用程序有一个滑块,我得到它的宽度(以毫米为单位)。问题是所选宽度的值不正确。我在两台Android设备上测试了应用程序,测量的长度与应用程序报告的长度不同。
您可以看到full source code,但相关代码如下:
Label value = new Label("Move the cursor on the slider...");
Style thumbStyle = new Style();
thumbStyle.setFont(Font.createSystemFont(Font.FACE_MONOSPACE, Font.STYLE_BOLD, Font.SIZE_LARGE), true);
Slider slider = new Slider();
slider.setMaxValue(1000);
slider.setMinValue(0);
slider.setProgress(20); // Set the starting value
slider.setThumbImage(FontImage.create("|", thumbStyle));
slider.setEditable(true); // to it works as a slider instead of a progress bar
slider.addActionListener(e -> {
Integer valueSelected = slider.getProgress();
Integer sliderWidth = slider.getWidth();
Double inch = sliderWidth.doubleValue() / (slider.getMaxValue() - slider.getMinValue()) * valueSelected / 100.0;
Integer millimeters = Double.valueOf(inch * 25.4).intValue();
value.setText("Value selected: " + millimeters.toString() + " mm");
});
非常感谢您的帮助
答案 0 :(得分:1)
毫米测量不准确。对于convert方法,设备可以返回与为密度标志返回的值不同的值或比率。
不幸的是,Googles测试套件将设备认证为“好”并不能真正涵盖这些内容。我们无能为力。