应用一,表格所有行的颜色保持一致:
默认表格是区分奇偶行颜色的,
因为Grid.SelfOwnMaterial.IsDiffOddAndEvent默认是为True的,
效果如下:
如果要将所有行的颜色统一用白色的,
就需要将Grid.SelfOwnMaterial.RowBackColorMaterial.IsDiffOddAndEven设置为False,
背景色就没有了,这时候,
行的背景色由Grid.SelfOwnMaterial.RowBackColorMaterial.BackColor控制,
把它的IsFill设置为True,FillColor设置为White,
效果如下图所示:
这样,表格行的背景色就统计了
应用二,在运行时自定义行的颜色:
在OnPrepareDrawItem事件中,
根据Item来指定Grid.SelfOwnMaterial.RowBackColorMaterial.BackColor,
比如我们要把”李四”那一行的背景色设置为红色,代码如下:
procedure TFrameItemGrid_CustomRowColor.SkinFMXItemGrid1PrepareDrawItem(
Sender: TObject; ACanvas: TDrawCanvas; AItem: TBaseSkinItem;
AItemDrawRect: TRect);
begin
if TSkinItem(AItem).Caption='李四' then
begin
Self.SkinFMXItemGrid1.Material.RowBackColor:=TAlphaColorRec.Red;
end
else
begin
Self.SkinFMXItemGrid1.Material.RowBackColor:=TAlphaColorRec.White;
end;
end;
效果如下:
应用三,设置行选中的背景颜色:
行的背景颜色在Grid.SelfOwnMaterial.RowBackColorMaterial.BackColor,那么选中的颜色是在它的PushedEffect中,我们将选中的颜色设置为灰色:
先在设计时先”王一”那一行设置为选中,Item.Selected设置为True,
将Grid.SelfOwnMaterial.RowBackColorMaterial.BackColor.PushedEffect.FillColor设置为Gray,将BackColor.PushedEffect.EffectTypes中勾选drpetFillColorChange,表示选中的时候要改背景色变为灰色,