我发现很难设置CN1 Slider控件的正确外观。基本上我希望它看起来像主题窗口的CN1默认演示中的那个,并使用Thumb图像让用户设置滚动。
但是当我根据在线示例对其进行编码时,它在模拟器上显得很瘦(如下所示)
...但在实际的iphone设备上根本不显示该行。 当我开始搞乱这些方法时,例如'getSliderEmptyUnselectedStyle()'然后这会使背景显示并且可以看到进度,但它很高,我似乎无法收缩它。
Container container = new Container(new FlowLayout());
container.getAllStyles().setBgTransparency(255);
container.getAllStyles().setBgColor(0xffffff);
Slider slider = new Slider();
// slider.getAllStyles().setFgColor(0);
// slider.getAllStyles().setMarginLeft(0);
// slider.getSliderEmptyUnselectedStyle().setBgTransparency(255);
// slider.getSliderFullUnselectedStyle().setBgTransparency(255);
// slider.getSliderEmptySelectedStyle().setBgTransparency(255);
// slider.getSliderFullSelectedStyle().setBgTransparency(255);
// slider.getSliderEmptyUnselectedStyle().setBgColor(0xffffff);
// slider.getSliderFullUnselectedStyle().setBgColor(0x42B72A);
// slider.getSliderEmptySelectedStyle().setBgColor(0xffffff);
// slider.getSliderFullSelectedStyle().setBgColor(0x42B72A);
Style sliderStyle = UIManager.getInstance().getComponentStyle("Label");
sliderStyle.setFgColor(0);
slider.setThumbImage(
FontImage.createMaterial(FontImage.MATERIAL_RADIO_BUTTON_CHECKED, sliderStyle, 4).toImage());
slider.setMinValue(0);
slider.setIncrements(25);
slider.setProgress(entity.getCompletion_pct());
slider.setEditable(true);
container.add(slider);
return container;
我怎么能在CN1例子中得到它? 感谢
答案 0 :(得分:1)
示例中的滑块使用9件式边框或3件式边框,两者都具有固定的最小高度/宽度。此最小高度应用于滑块的渲染方式。
使用填充可以使您的代码变得更厚但是在添加拇指时会产生问题。一旦你添加拇指,它将增加整体大小,并使拇指的整个高度具有该背景。因此,您需要通过设计师对此进行设计,对于这种特殊情况,您需要使用经过精心测量的图像边框以与拇指图像对齐。
另请注意您使用Slider
这是错误的。 Slider
是一种特殊情况,并使用SliderFull
和Style
UIID,因此该组件有效地具有两个UIID和两个独立的{{1}}个对象集。