/
GenresActivity.cs
81 lines (69 loc) · 2.78 KB
/
GenresActivity.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
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Android.App;
using Android.Content;
using Android.OS;
using Android.Runtime;
using Android.Views;
using AndroidX.AppCompat.App;
using AndroidX.AppCompat.Widget;
using AndroidX.ViewPager.Widget;
using AndroidX.ViewPager2.Widget;
using com.aa.tvshows.Fragments;
using com.aa.tvshows.Helper;
using Google.Android.Material.Tabs;
namespace com.aa.tvshows
{
[Activity(Label = "TV Genres", ConfigurationChanges = Android.Content.PM.ConfigChanges.Orientation | Android.Content.PM.ConfigChanges.ScreenSize)]
public class GenresActivity : AppCompatActivity
{
ViewPager2 pager;
TabLayout tabLayout;
private List<string> Genres => new List<string>()
{
"Action", "Adventure", "Animation", "Comedy", "Crime", "Documentary", "Drama", "Family", "Fantasy", "Game-Show", "History", "Horror",
"Human Drama", "Japanese", "Music", "Mystery", "Reality-TV", "Romance", "School", "Sci-Fi", "Sport", "Talk-Show", "Thriller", "War", "Western"
};
protected override void OnCreate(Bundle savedInstanceState)
{
base.OnCreate(savedInstanceState);
// Create your application here
SetContentView(Resource.Layout.genres_base);
AppView.SetActionBarForActivity(FindViewById<Toolbar>(Resource.Id.main_toolbar), this);
// generate tabs for genres
SetupTabsForGenres();
}
public override bool OnCreateOptionsMenu(IMenu menu)
{
return AppView.ShowOptionsMenu(menu, this);
}
public override bool OnOptionsItemSelected(IMenuItem item)
{
return AppView.OnOptionsItemSelected(item, this);
}
public override bool OnSupportNavigateUp()
{
OnBackPressed();
return true;
}
private void SetupTabsForGenres()
{
pager = FindViewById<ViewPager2>(Resource.Id.main_tabs_viewpager);
pager.OffscreenPageLimit = 3;
tabLayout = FindViewById<TabLayout>(Resource.Id.main_tabs_header);
//tabLayout.SetupWithViewPager(pager);
tabLayout.TabMode = TabLayout.ModeScrollable;
var adapter = new PageTabsAdapter(this);
pager.Adapter = adapter;
TabMediatorStrategy tabStrategy = new TabMediatorStrategy(adapter.Fragments);
TabLayoutMediator tabMediator = new TabLayoutMediator(tabLayout, pager, tabStrategy);
tabMediator.Attach();
foreach (var item in Genres)
{
adapter.AddTab(new TitleFragment() { Title = item, Fragmnet = new MainTabs(DataEnum.DataType.Genres, DataEnum.GenreDataType.Shows, item, 0) });
}
}
}
}