[示例] 用代码设置 ListView 颜色 (只适用 Win 平台,无需修改官方源码)

本文介绍了一种不依赖额外样式和官方源码修改的ListView颜色设置方法。通过代码直接设定ListView的ItemBackground颜色,并提供了一个具体实例,展示了如何根据不同条件设置不同颜色。

如果可以使用代码随意设置 ListView 的颜色,而不用加载额外的 Style 及修改官方的源码,那该有多好?! 其实 Style 提供了很强了扩充性及可塑性,可以很容易的去操作它。

下面以 ListView 为例,用代码设置它的 ItemBackgroud 颜色(其它的控件基本上也能用相同的方法来设置):

procedure TForm1.ListView1ApplyStyleLookup(Sender: TObject);
var o1: TFmxObject;
    o2: TFmxObject;
    c: TAlphaColor;
begin
     if Sender = ListView1 then
          c := TAlphaColorRec.Lightyellow
     else c := TAlphaColorRec.Mistyrose;

     o1 := TStyleManager.ActiveStyleForScene(Screen.ActiveForm as IScene).FindStyleResource('listviewstyle');
     o2 := o1.FindStyleResource('itembackground');

     // 需要判断第一次才设置颜色,否则会影响效能
     if (o2 is TColorObject) and (TColorObject(o2).Color <> c) then
     begin
          TColorObject(o2).Color := c;
          TListView(Sender).NeedStyleLookup;
     end;
end;

注意:此方法仅适用 Windows 平台,移动平台还是乖乖的用 Style 吧!

 

示例下载:[示例]用代码设置ListView颜色_Aone.zip

 

效果:(多个 ListView 可以各别设置不同颜色)

 

转载于:https://www.cnblogs.com/onechen/p/6597844.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值