예제 #1
0
        protected override void OnCreate(Bundle bundle)
        {
            base.OnCreate(bundle);

            // Set our view from the "main" layout resource
            SetContentView(Resource.Layout.Main);

            //TextView book = FindViewById<TextView>(Resource.Id.tv_book);
            //book.SetTextIsSelectable(true);
            //book.CustomSelectionActionModeCallback = new MySelectionCallBack(book);

            List<GalleryBookItem> items = new List<GalleryBookItem>();
            items.Add(new GalleryBookItem()
            {
                Author = "android book",
                Title = "android",
                IsAvailable = true,
                Cover = Resource.Drawable.book1
            });
            items.Add(new GalleryBookItem()
            {
                Author = "book1",
                Title = "book1 author",
                IsAvailable = false,
                Cover = Resource.Drawable.book1
            });
            items.Add(new GalleryBookItem()
            {
                Author = "book2",
                Title = "book2 author",
                IsAvailable = false,
                Cover = Resource.Drawable.book2
            });
            items.Add(new GalleryBookItem()
            {
                Author = "book3",
                Title = "book3 author",
                IsAvailable = false,
                Cover = Resource.Drawable.book2
            });
            items.Add(new GalleryBookItem()
            {
                Author = "book4",
                Title = "book4 author",
                IsAvailable = true,
                Cover = Resource.Drawable.book2
            });
            GalleryAdapter adapter = new GalleryAdapter(this, items);

            ListView listView = FindViewById<ListView>(Resource.Id.ListView);

            listView.Adapter = adapter;
        }
예제 #2
0
        public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
        {
            // Use this to return your custom view for this Fragment
            // return inflater.Inflate(Resource.Layout.YourFragment, container, false);

            view = inflater.Inflate(Resource.Layout.GalleryFragment, container, false);

            var capturedImages = GlobalVariables.db.GetAllCapturedImages();

            adapter            = new GalleryAdapter(capturedImages);
            adapter.ItemClick += OnItemClick;

            mRecyclerView = view.FindViewById <Android.Support.V7.Widget.RecyclerView>(Resource.Id.GalleryRecyclerView);
            var emptyTextView = view.FindViewById <TextView>(Resource.Id.EmptyGalleryTextView);
            var fab           = view.FindViewById <CustomFAB>(Resource.Id.GalleryTabFAB);

            if (capturedImages.Count < 1)
            {
                mRecyclerView.Visibility = ViewStates.Gone;
                emptyTextView.Visibility = ViewStates.Visible;
            }
            else
            {
                emptyTextView.Visibility = ViewStates.Gone;
                mRecyclerView.Visibility = ViewStates.Visible;
            }
            mRecyclerView.SetAdapter(adapter);

            mLayoutManager = new Android.Support.V7.Widget.GridLayoutManager(Context, 2, Android.Support.V7.Widget.GridLayoutManager.Vertical, false);
            mRecyclerView.SetLayoutManager(mLayoutManager);

            fab.AttachToRecyclerView(mRecyclerView);
            var rootView = fab.RootView;

            fab.Click += (sender, args) =>
            {
                var          ImageDirectory = FileAccessHelper.GetImageDirectory();
                var          imageName      = Guid.NewGuid() + ".jpg";
                Java.IO.File ImageFile      = new Java.IO.File(ImageDirectory, imageName.ToString());

                ((MainActivity)Activity).setImageFile(ImageFile);
                ((MainActivity)Activity).setImageName(imageName.ToString());
                ((MainActivity)Activity).setImageDirectory(ImageDirectory.AbsolutePath);

                var intent = new Intent(MediaStore.ActionImageCapture);
                intent.PutExtra(MediaStore.ExtraOutput, Android.Net.Uri.FromFile(ImageFile));
                ((MainActivity)Activity).StartActivityForResult(intent, 0);
            };

            return(view);
        }
예제 #3
0
        private void UpdateView()
        {
            ISharedPreferences prefs = Application.Context.GetSharedPreferences("Settings", FileCreationMode.Private);
            var isDark = prefs.GetBoolean("appThemeDark", false);
            if (isDark)
            {
                this.SetTheme(global::Android.Resource.Style.ThemeHolo);
            }
            else
                this.SetTheme(global::Android.Resource.Style.ThemeHoloLight);
            adapter = new GalleryAdapter(this, _books);
            ListView listView = FindViewById<ListView>(Resource.Id.ListView);
            listView.Adapter = adapter;
            if ((CurrentBook = TranslyteDbGateway.GetCurrentBook()) != null)
            {
                ImageView image = FindViewById<ImageView>(Resource.Id.CoverCurrent);
                if (CurrentBook.Cover != null)
                {
                    var img = new BitmapConverteHelper().GetCover(CurrentBook.Cover);
                    image.SetImageBitmap(img);
                }

                TextView title = FindViewById<TextView>(Resource.Id.TitleCurrent);
                title.Text = CurrentBook.Title;

                TextView author = FindViewById<TextView>(Resource.Id.AuthorCurrent);
                author.Text = CurrentBook.Author;
            }
            RunOnUiThread(() =>
                {
                    Thread.CurrentThread.IsBackground = true;
                    Java.IO.File dir =  new Java.IO.File(EnvironmentAnd.ExternalStorageDirectory.AbsolutePath + @"/translyte");
                    var files = dir.ListFiles ();

                    var localBooks = TranslyteDbGateway.GetBooksLocalReview ();
                    foreach(var file in files)
                    {
                        var isLocal = localBooks.Any (ss=>ss.BookPath.Equals(file.AbsolutePath));
                        if (!isLocal) {
                            TranslyteDbGateway.SaveBookLocal(new BookLocal(){BookPath = file.AbsolutePath, Position = 0, IsCurrent = false});

                        }
                    }
                    _books = TranslyteDbGateway.GetBooksLocalReviewWithoutCurrent();
                    adapter = new GalleryAdapter(this, _books);

                });
        }