rio中实现手机端listview滑动删除

1、toolbar+line+speedbutton X 2+label+image X 4+listview组件。

2、组件属性设置。

1)image的属性。

  Size.Width = 9.000000000000000000
  Size.Height = 49.000000000000000000
  Size.PlatformDefault = False
  WrapMode = Stretch

2)listview的属性

listview.ItemAppearanceClassName := 'TDynamicAppearance';
listview.ItemEditAppearanceClassName := 'TDynamicAppearance';
listview.HeaderAppearanceClassName := 'TListHeaderObjects';
listview.FooterAppearanceClassName := 'TListHeaderObjects';
listview.OnUpdateObjects := listviewUpdateObjects;
listview.ItemSpaces.Left := 0.000000000000000000;
listview.ItemSpaces.Right := 0.000000000000000000;
listview.Align := Client;
listview.ItemAppearance.ItemHeight := 70;

 3)label的属性


  Label1.Parent := ToolBar1;
  Label1.Align := Contents;
  Label1.TextSettings.HorzAlign := Center;
  Label1.Text := '任务';
  Label1.TabOrder := 1;

4)line的属性

  Line1.Parent := ToolBar1;
  Line1.Align := Bottom;
  Line1.LineType := Diagonal;
  Line1.Size.Height := 1.000000000000000000;
  Line1.Stroke.Color := xFFF2F2F2;

3、事件代码。

formcreate

        img1.Visible := false;
        img2.Visible := false;
        img3.Visible := false;
        img4.Visible := false;
    
        listview.DeleteButtonText := '删除';    //Excluir

listview滑动事件

procedure TForm1.listviewDeletingItem(Sender: TObject; AIndex: Integer;
  var ACanDelete: Boolean);
var
    txt : TListItemText;
begin
    txt := TListItemText(Form1.listview.Items[AIndex].Objects.FindDrawable('Text1'));

    if txt.TagString <> '111' then
        showmessage('Excluindo tarefa id = ' + txt.tagstring)
    else
        ACanDelete := false;

end;
procedure TForm1.SpeedButton2Click(Sender: TObject);
begin
        listview.BeginUpdate;

        Add_content(110, 1, '打印');
        Add_content(111, 2, 'email建议');
        Add_content(112, 3, '开发站点');
        Add_content(113, 4, '配置服务器');
        Add_content(114, 1, '配置数据库');
        Add_content(115, 4, '创建电子表格');
        Add_content(116, 1, '回复电话');
        Add_content(117, 2, '导入客户端数据');
        Add_content(118, 3, '处理照片产品');

        listview.EndUpdate;
end;
procedure Add_content(id, tipo : integer; descricao : string);
var
        item : TListViewItem;
        txt : TListItemText;
        img : TListItemImage;
begin
        with form1 do
        begin
                item := listview.Items.Add;
                item.Objects.Clear;
                item.TagString := id.ToString;

                with item do
                begin
                        
                        img := TListItemImage(Objects.FindDrawable('Image2'));
                        img.PlaceOffset.X := 0;
                        img.PlaceOffset.Y := 0;
                        img.Width := 10;
                        img.Height := 70;
                        img.ScalingMode := TImageScalingMode.Stretch;

                        case tipo of
                            1: img.Bitmap := img_fazer.Bitmap;
                            2: img.Bitmap := img_importante.Bitmap;
                            3: img.Bitmap := img_andamento.Bitmap;
                            4: img.Bitmap := img_feito.Bitmap;
                        end;



                     
                        txt := TListItemText(Objects.FindDrawable('Text1'));
                        txt.Text := descricao;
                        txt.Font.Size := 18;
                        txt.Height := 70;
                       
                        txt.PlaceOffset.X := 25;
                        txt.PlaceOffset.Y := 0;
                        txt.TagString := id.ToString;

                end;
        end;
end;
procedure TForm1.listviewDeletingItem(Sender: TObject; AIndex: Integer;
  var ACanDelete: Boolean);
var
    txt : TListItemText;
begin
    txt := TListItemText(Form1.listview.Items[AIndex].Objects.FindDrawable('Text1'));

    if txt.TagString <> '111' then
        showmessage('删除任务编号= ' + txt.tagstring)
    else
        ACanDelete := false;

end;

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值