【问题标题】:Delphi FMX TVertScrollBox Android: How do I force vertical scrollbar visible with no horizontal scroll barDelphi FMX TVertScrollBox Android:如何强制垂直滚动条可见而没有水平滚动条
【发布时间】:2018-09-14 10:01:35
【问题描述】:

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

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

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

谢谢, 斯科特

【问题讨论】:

  • 隐藏垂直滚动条是 Android 的标准功能。由于屏幕小,大多数应用程序将其隐藏。某些应用程序(例如 Telegram)显示指向底部的小箭头(仅在未读消息的情况下)-这意味着用户可以向下滚动。

标签: delphi firemonkey


【解决方案1】:

以下内容已确认可在 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 平台并进行相同的更改。

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 2023-03-17
      • 1970-01-01
      • 2011-11-30
      • 2014-09-21
      • 2022-06-21
      • 1970-01-01
      • 1970-01-01
      • 2016-05-28
      • 2012-11-14
      相关资源
      最近更新 更多