如何在 [CodenameOne] 中显示垂直滑块

how to show vertical slider in [CodenameOne]

我想在 CodenameOne 中垂直显示滑块。下面是我试图让它成为可能但仍然水平显示的代码。

代码:

    Slider s1 = new Slider();
    Slider s2 = new Slider();
    s1.setVertical(true);
    s1.repaint();
    s2.setVertical(true);
    s2.repaint();
    findContMainT2O(f).add(BorderLayout.EAST, s1);
    findContMainT2O(f).add(BorderLayout.WEST, s2);
    findContMainT2O(f).repaint();

see output image here

要完成这项工作,还需要做一件事。

如果您查看 SliderSliderFull 样式,您会发现它们具有水平图像。您必须将其更改为垂直。

如果我想重复使用代号为 1 的滑块图像,我通常会这样做:

进入我的 res 文件夹并从这些文件夹中取出 hd.png,具体取决于您选择的主题,在您的情况下...

  1. hd.png 从 sliderBlueCenter 重命名为 sliderBlueCenterV
  2. hd.png 从 sliderBlueLeft 重命名为 sliderBlueBottom
  3. hd.png 从 sliderBlueRight 重命名为 sliderBlueTop
  4. hd.png 从 sliderEmpty 重命名为 sliderEmptyCenter
  5. hd.png 从 sliderEmptyLeft 重命名为 sliderEmptyBottom
  6. hd.png 从 sliderEmptyRight 重命名为 sliderEmptyTop

然后我将这些复制并重命名的图像逆时针旋转 90 度,并使用 Gimp 或 Photoshop 等图像处理软件。

现在我打开 theme.res 并使用 快速添加多张图片 添加这些图片,然后选择所有主题并选择 HD.

接下来是操纵我当前的滑块样式,我双击 slider 并切换到 border 选项卡。单击三点并选择 垂直图像 而不是 水平图像 。将您的图像适当地更改为添加的图像。

SliderFull 执行相同的操作,然后从 Unselected 复制这两种样式并将它们粘贴到 SelectedPressed 以覆盖它们。

这里是dropbox link下载我之前操作过的滑块图片。