Delphi FMX TVertScrollBox Android:如何在没有水平滚动条的情况下强制显示垂直滚动条

时间:2018-04-04 18:17:50

标签: delphi firemonkey

我在Delphi 10 Seattle有一个Android应用程序。我想使用TVertScrollBox来显示一些内容,它现在很好用,但除非滚动,否则滚动控件不可见。我看到它有一个自动隐藏选项,所以我点击了它。在Windows测试中,我现在在TVertScrollBox上看到一个水平和垂直滚动条。在Android中,它仍然隐藏并且显然忽略了自动隐藏,但是当你滚动时,现在垂直滚动手柄就像一个水平滚动条一样!来吧Embarcadero !!!如果你不打算在其中隐藏水平滚动,为什么要创建一个TVertScrollBox?这是愚蠢的。

我的问题: 如何让垂直滚动条可见,以便用户知道向下滚动以查看更多内容?我想要自动隐藏,我绝对不希望水平滚动条可见。

我在更改TLabel内容后调用了RealignContent。我的所有控件都设置为Align = Top,在这种情况下,它们是TLabel,AutoSize设置为true,WordWrap设置为底部的true。我相信解决方案是样式表,但我还没想出来。

谢谢, 斯科特

2 个答案:

答案 0 :(得分:1)

有问题的列表框是 TComboEdit 的下拉框,而不是放在表单上的常规 TListbox。如果我编辑 CustomStyle,我正在编辑 TComboBox 的样式,我找不到任何方法来编辑附加的 TListBox 的样式。我无法执行该回复中的第 1 步,因为没有 TVertScrollBox,只有一个 TComboEdit。

答案 1 :(得分:0)

以下内容已确认可在Windows平台(Win 7)上与Delphi 10 Seattle一起使用,但我无法在Android上进行测试。具体来说,即使您关闭自动隐藏,您所说的关于垂直滚动条保持自动隐藏的内容也是意外的。

要强制显示滚动条,如您所述,请关闭AutoHide属性。

然后隐藏水平滚动条,修改TVertScrollBox默认样式,如下所示:

  • 右键点击TVertScrollBox,然后选择Edit Default Style ...
  • 打开scrollboxstyle: TLayout
  • 打开background: TLayout
  • 选择hscrollbar: TScrollBar

在所选hscrollbar

的属性中
  • 取消Visible
  • Opacity设为零
  • 将两个Scale值设置为零

选择设计器窗口顶部的Apply and Close按钮。

水平滚动条现在应该在设计视图中和运行时都不可见。

选择Android平台并执行相同的更改。