MainActivity.cs 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. using System;
  2. using Android.App;
  3. using Android.Views;
  4. using Android.Widget;
  5. using Android.OS;
  6. using Android.Support.V7.Widget;
  7. using ImageSearch.Droid.Adapters;
  8. using ImageSearch.ViewModel;
  9. using Acr.UserDialogs;
  10. namespace ImageSearch.Droid
  11. {
  12. [Activity(Label = "Image Search", MainLauncher = true, Icon = "@drawable/icon")]
  13. public class MainActivity : BaseActivity
  14. {
  15. RecyclerView recyclerView;
  16. RecyclerView.LayoutManager layoutManager;
  17. ImageAdapter adapter;
  18. ProgressBar progressBar;
  19. ImageSearchViewModel viewModel;
  20. protected override int LayoutResource
  21. {
  22. get { return Resource.Layout.main; }
  23. }
  24. int count = 1;
  25. protected override void OnCreate(Bundle bundle)
  26. {
  27. base.OnCreate(bundle);
  28. viewModel = new ImageSearchViewModel();
  29. //Setup RecyclerView
  30. adapter = new ImageAdapter(this, viewModel);
  31. recyclerView = FindViewById<RecyclerView>(Resource.Id.recyclerView);
  32. recyclerView.SetAdapter(adapter);
  33. layoutManager = new GridLayoutManager(this, 2);
  34. recyclerView.SetLayoutManager(layoutManager);
  35. progressBar = FindViewById<ProgressBar>(Resource.Id.my_progress);
  36. progressBar.Visibility = ViewStates.Gone;
  37. var query = FindViewById<EditText>(Resource.Id.my_query);
  38. // Get our button from the layout resource,
  39. // and attach an event to it
  40. var clickButton = FindViewById<Button>(Resource.Id.my_button);
  41. //Button Click event to get images
  42. clickButton.Click += async (sender, args) =>
  43. {
  44. clickButton.Enabled = false;
  45. progressBar.Visibility = ViewStates.Visible;
  46. await viewModel.SearchForImagesAsync(query.Text.Trim());
  47. progressBar.Visibility = ViewStates.Gone;
  48. clickButton.Enabled = true;
  49. };
  50. UserDialogs.Init(this);
  51. SupportActionBar.SetDisplayHomeAsUpEnabled(false);
  52. SupportActionBar.SetHomeButtonEnabled(false);
  53. }
  54. }
  55. }