最近出现了滚动条

时间:2016-08-22 06:46:38

标签: codenameone

我正在重新审视一些较旧的项目,并且使用最新库的新版本为我的滚动容器和列表添加了一个丑陋的滚动条。

我为' Scroll'添加了主题条目。和" ScrollThumb"透明度为0,边框为空。它删除了一些但不是全部,在Designer中可见的滴答或无标记滚动似乎没有太大作用。

这发生在过去几周的某个时间。我无法找到导致它的原因。 (我认为它可能是v3.5中的新内容。)

2 个答案:

答案 0 :(得分:7)

以下是我在任何地方删除滚动条的技巧:

UIManager.getInstance().setLookAndFeel(new DefaultLookAndFeel(UIManager.getInstance()) {
    @Override
    public void bind(Component cmp) {
        if (cmp instanceof Container) {
            cmp.setScrollVisible(false);
        }
    }
});

我把那段代码放在我主类的init方法中。

编辑(2019年5月9日):

使用上面的代码可能会遇到一些奇怪的UI行为。 到目前为止,我的体验是,当我使用以下代码更改图像时,RadioButton和Checkbox组件无法正确呈现:

((DefaultLookAndFeel) UIManager.getInstance().getLookAndFeel()).setCheckBoxImages(checkedImage, unCheckedImage);
((DefaultLookAndFeel) UIManager.getInstance().getLookAndFeel()).setCheckBoxFocusImages(checkedImage, unCheckedImage, checkedImage, unCheckedImage);

解决方案(2019年5月9日):

将以下内容添加到主类的init方法中:

UIManager.getInstance().getLookAndFeel().setFocusScrolling(false);
UIManager.getInstance().getLookAndFeel().setFadeScrollBar(false);

...并将主题常量scrollVisibleBool设置为false。 (我认为CN1默认为假,但我还是设置了它。)

答案 1 :(得分:0)

Codename one scrollbar coming back中,Shai表示删除滚动条的首选方法是定义主题常量scrollVisibleBool = false。

主题编辑器不允许我将此常量添加到主题中,因为它不在下拉选择器中。为了添加它,我必须执行以下操作:

  1. 将主题编辑器置于XML Team Mode中,保存主题,关闭编辑器。
  2. 将以下行添加到theme.xml文件def form_valid(self, form): user = User() user.email = form.cleaned_data['email'] user.set_unusable_password() user.name = form.cleaned_data['name'] user.bill_to2 = form.cleaned_data.get('bill_to2', None) user.save() return super(InviteCandidateFormView, self).form_valid(form)
  3. 然后打开主题编辑器并再次保存。
  4. 此后,滚动条不再可见。