我注意到当你更改ListView标题背景颜色时,会出现一个奇怪的白色文本,如阴影
有谁知道如何摆脱白色阴影?
重现的步骤
创建一个FMX项目,在其上放置一个列表视图并将其与客户端对齐
右键单击列表视图,然后选择编辑自定义样式
在lv1style1:TFmxObject中找到头结构
在表单create上填充列表视图 - 使用类似
的代码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;
如果您有任何疑问,请在下面发表评论 任何帮助将不胜感激。
答案 0 :(得分:3)
有一个TextLabel.TextShadowColor设置
在List视图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;
答案 1 :(得分:0)
看一下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,可以解决您的情况,而无需任何代码。