private StackLayout populateUList() { // string url = "http://forcaeinteligencia.com/wp-content/uploads/2013/09/batata-ou-batata-doce.png"; // string url = "http://res.cloudinary.com/churches/image/upload/v1479304288/flktecyzx6rbmi3ttmi8.jpg"; string url = "timelineImg.png"; var list = new ListView(ListViewCachingStrategy.RecycleElement) { HasUnevenRows = true }; list.ItemTemplate = new DataTemplate(typeof(CustomCell)); var addBtn = new CustomBtn { Text = "add" }; list.IsPullToRefreshEnabled = true; list.Refreshing += async(sender, e) => await DisplayAlert("Loading", "Atualizando", "OK"); ObservableCollection <TimelineItem> strList = new ObservableCollection <TimelineItem>(); list.ItemsSource = strList; for (int i = 0; i < 10; i++) { strList.Add(new TimelineItem("text " + i, url)); } list.ItemTapped += (sender, e) => { DisplayAlert("item", (string)((ListView)sender).SelectedItem, "OK"); ((ListView)sender).SelectedItem = null; }; list.ItemAppearing += (sender, e) => { // called to every element shown var listSize = strList.Count(); var current = e.Item; var last = strList.ElementAt(listSize - 1); if (current == last) { for (int i = 0; i < 10; i++) { strList.Add(new TimelineItem("New Pool " + i, url)); } } }; addBtn.Clicked += (sender, e) => strList.Add(new TimelineItem("Novo", url)); return(new StackLayout { Children = { addBtn, list } }); }
public Page1() { var btnListView = new CustomBtn { Text = "ListView" }; var btnRotation = new CustomBtn { Text = "Rotation" }; var btnUListView = new CustomBtn { Text = "Updated ListView" }; var native_btn = new CustomBtn() { Text = "new activity" }; var btnEntry = new CustomBtn { Text = "Entry" }; native_btn.Clicked += (sender, e) => Navigation.PushModalAsync(new RenderedPage()); btnListView.Clicked += async(s, e) => { var page = new ContentPage(); page.Content = populateList(); await Navigation.PushAsync(page); }; btnUListView.Clicked += async(s, e) => { var page = new ContentPage(); page.Content = populateUList(); await Navigation.PushAsync(page); }; btnRotation.Clicked += async(s, e) => { var page = new ContentPage(); page.Content = populateRotation(); await Navigation.PushAsync(page); }; btnEntry.Clicked += async(s, e) => { var page = new ContentPage(); page.Content = populateEntry(); await Navigation.PushAsync(page); }; Content = new StackLayout { Padding = new Thickness(0, 0, 0, 20), Children = { new CustomStackLayout { Children = { btnListView, btnEntry } }, new CustomStackLayout { Children = { btnRotation, native_btn } }, new CustomStackLayout { Children = { btnUListView } } } }; }