Embarcadero
has some sample code up which shows you how to do a pull or swipe down
to refresh a TListView. A lot of mobile apps like Facebook use this
functionality instead of having a refresh button. It saves screen real
estate by not having an extra button to deal with. The idea is that you
are at the top of the list and you put your finger down on the list and
swipe or pull down. The list drags down and then you show a activity
spinner above the list. Once the update is complete and the list gets
updated the activity spinner goes away. The blog post talks about being
for IOS but this will work on both Android and IOS. The code is simple
enough and just checks the ScrollViewPos property of TListView. Take a
look:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
|
procedure TForm.ListView1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Single); begin if not Updating and (ListView1.ScrollViewPos < -40) then begin Updating := true; AniIndicator1.Visible := True; AniIndicator1.Enabled := true; for I := Myposition + 1 to Myposition +20 do begin LItem := ListView1.Items.Add; LItem.Text := Format(’Text %d’, [I]); end; inc(myposition, 20); end; end; |
|