【问题标题】:Delphi DX Seattle FMX TListView HeaderItem - Hide white Shadow text on non white backgroundDelphi DX Seattle FMX TListView HeaderItem - 在非白色背景上隐藏白色阴影文本
【发布时间】:2015-11-23 07:23:05
【问题描述】:

我注意到,当您更改 ListView 标题背景颜色时,会出现一个奇怪的白色文本,如阴影

有谁知道如何摆脱白色阴影?

复制步骤

创建一个 FMX 项目,在其上放置一个列表视图并将其与客户端对齐
右键单击列表视图并选择编辑自定义样式
在lv1style1:TFmxObject中找到头结构

选择源链接属性并将默认选定区域移动到其他颜色

在创建表单时填充列表视图 - 使用这样的代码

var lvitem : TListViewItem;
begin
  lvitem := lv1.Items.Add;
  lvitem.Text := 'Header';
  lvitem.Purpose := TListItemPurpose.Header;
  lvitem.Detail := '';


  lvitem := lv1.Items.Add;
  lvitem.Text := 'none';
  lvitem.Purpose := TListItemPurpose.None;

  lvitem := lv1.Items.Add;
  lvitem.Text := 'footer';
  lvitem.Purpose := TListItemPurpose.Footer;

如果您有任何问题,请在下方评论
任何帮助将不胜感激。

【问题讨论】:

    标签: delphi listview firemonkey


    【解决方案1】:

    有一个 TextLabel.TextShadowColor 设置
    在列表视图上 OnUpdateObjects
    添加以下代码

    procedure TForm1.lv1UpdateObjects(const Sender: TObject;
      const AItem: TListViewItem);
    var
      TextLabel: TListItemText;
    begin
      if AItem.Purpose in [TListItemPurpose.Header, TListItemPurpose.Footer] then begin
        TextLabel := AItem.Objects.TextObject;
        TextLabel.TextShadowColor := TalphaColorRec.Null;
      end;
    end;
    

    【讨论】:

      【解决方案2】:

      查看 ListView 样式的内部结构,可能会注意到存在“headetext”颜色对象。推断,某些 ListView 代码应该加载颜色对象以反映当前样式,我们可以在 FMX pas 文件中进行搜索,找到以下样式代码:

        // Item Colors
      

      FStyleResources.DefaultTextColor := GetColorFromStyle('foreground', claBlack); FStyleResources.DefaultTextSelectedColor := GetColorFromStyle('selectiontext', claBlack); FStyleResources.DetailTextColor := GetColorFromStyle('detailtext', claBlack); FStyleResources.HeaderTextColor := GetColorFromStyle('headertext', claWhite); FStyleResources.HeaderTextShadowColor := GetColorFromStyle('headertextshadow', claWhite);

      所以,IS有一个选项可以通过样式控制文本阴影颜色,控制它的样式部分不存在。 好吧,将 'headertextshadow' TColorObject 添加到每个对应的 ListView 样式中,并将其颜色设置为 Null,无需涉及任何代码即可解决您的问题。

      【讨论】:

        猜你喜欢
        • 2020-06-21
        • 1970-01-01
        • 2019-08-20
        • 2015-08-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多