-
Notifications
You must be signed in to change notification settings - Fork 1.7k
/
AddRemoveSwipeItemsGallery.cs
118 lines (93 loc) · 2.42 KB
/
AddRemoveSwipeItemsGallery.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
using System;
using System.Linq;
using Xamarin.Forms.Internals;
namespace Xamarin.Forms.Controls.GalleryPages.SwipeViewGalleries
{
[Preserve(AllMembers = true)]
public class AddRemoveSwipeItemsGallery : ContentPage
{
public AddRemoveSwipeItemsGallery()
{
Title = "Add/Remove SwipeItems Gallery";
var swipeLayout = new StackLayout
{
Margin = new Thickness(12)
};
var buttonsLayout = new StackLayout
{
Orientation = StackOrientation.Horizontal
};
var addButton = new Button
{
Text = "Add SwipeItem"
};
buttonsLayout.Children.Add(addButton);
var removeButton = new Button
{
Text = "Remove SwipeItem"
};
buttonsLayout.Children.Add(removeButton);
var swipeItemIconLabel = new Label
{
FontSize = 10,
Text = "Choose SwipeItem Icon:"
};
var deleteSwipeItem = new SwipeItem
{
BackgroundColor = Color.Orange,
IconImageSource = "calculator.png",
Text = "SwipeItem1"
};
deleteSwipeItem.Invoked += (sender, e) => { DisplayAlert("SwipeView", "Delete Invoked", "Ok"); };
var leftSwipeItems = new SwipeItems
{
deleteSwipeItem
};
leftSwipeItems.Mode = SwipeMode.Reveal;
var swipeContent = new Grid
{
BackgroundColor = Color.Gray
};
var swipeLabel = new Label
{
HorizontalOptions = LayoutOptions.Center,
VerticalOptions = LayoutOptions.Center,
Text = "Swipe to Right"
};
swipeContent.Children.Add(swipeLabel);
var swipeView = new SwipeView
{
HeightRequest = 60,
WidthRequest = 300,
LeftItems = leftSwipeItems,
Content = swipeContent
};
swipeLayout.Children.Add(buttonsLayout);
swipeLayout.Children.Add(swipeView);
Content = swipeLayout;
addButton.Clicked += (sender, e) =>
{
swipeView.Close();
var swipeItemsCount = swipeView.LeftItems.Count;
var random = new Random();
var newSwipeItem = new SwipeItem
{
BackgroundColor = Color.FromRgb(random.Next(0, 255), random.Next(0, 255), random.Next(0, 255)),
IconImageSource = "calculator.png",
Text = $"SwipeItem{swipeItemsCount + 1}"
};
swipeView.LeftItems.Add(newSwipeItem);
};
removeButton.Clicked += (sender, e) =>
{
swipeView.Close();
var swipeItemsCount = swipeView.LeftItems.Count;
if(swipeItemsCount > 0)
{
var lastSwipeItem = swipeView.LeftItems.LastOrDefault();
swipeView.LeftItems.Remove(lastSwipeItem);
}
};
}
}
}