private void btnIcon_Click(object sender, EventArgs e)
        {
            if (Loading)
            {
                return;
            }
            ImagePicker.InitialDirectory = I9Gfx.GetPowersetsPath();
            ImagePicker.FileName         = myPS.ImageName;
            if (ImagePicker.ShowDialog() != DialogResult.OK)
            {
                return;
            }
            var str = FileIO.StripPath(ImagePicker.FileName);

            if (!File.Exists(FileIO.AddSlash(ImagePicker.InitialDirectory) + str))
            {
                MessageBox.Show(
                    $"You must select an image from the {I9Gfx.GetPowersetsPath()} folder!\r\n\r\nIf you are adding a new image, you should copy it the folder and then select it.",
                    "Ah...", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            else
            {
                myPS.ImageName = str;
                DisplayIcon();
            }
        }
        private bool ChooseReleasePicture(ReleaseData releaseData, int releaseNumber)
        {
            List <ImageViewModel> images = new List <ImageViewModel>();

            foreach (ImageItem imageItem in releaseData.Images)
            {
                ImageViewModel imageViewModel = new ImageViewModel(imageItem);
                images.Add(imageViewModel);
            }

            string title = "Choose image for release " + releaseNumber + "/" + this.totalReleases + " - " + releaseData.Release.JoinedAlbumArtists + " - " + releaseData.Release.Title;

            bool pickResult = false;

            this.waitWindow.Dispatcher.Invoke(() =>
            {
                ImagePicker picker = new ImagePicker(title, images);
                if (picker.ShowDialog() == true)
                {
                    ImageViewModel selectedItem = (ImageViewModel)picker.SelectedItem;
                    this.UpdateImageForRelease(releaseData, selectedItem);
                    pickResult = true;
                }
                else if (picker.IsSkipped)
                {
                    pickResult = true;
                }
                else
                {
                    pickResult = false;
                }
            });

            return(pickResult);
        }
        private void OnDoubleClickImage(Object sender, ExecutedRoutedEventArgs e)
        {
            String parameter = (String)e.Parameter;

            ImagePicker picker = new ImagePicker(this._assets);

            if (!(picker.ShowDialog() ?? false))
            {
                return;
            }

            if (parameter == "large")
            {
                this._largeAsset       = picker.SelectedAsset;
                this.LargeImage.Source = picker.SelectedAsset.Image;
            }
            else if (parameter == "small")
            {
                this._smallAsset       = picker.SelectedAsset;
                this.SmallImage.Source = picker.SelectedAsset.Image;
            }
            else
            {
                throw new ArgumentOutOfRangeException(
                          $"Expected parameter to be one of \"small\" and \"large\". Received: \"{parameter}\" instead."
                          );
            }
        }
        protected override void OnElementChanged(ElementChangedEventArgs <Xamarin.Forms.Picker> e)
        {
            base.OnElementChanged(e);

            if (e.OldElement != null || e.NewElement == null)
            {
                return;
            }

            element = (ImagePicker)this.Element;


            var editText = this.Control;

            if (!string.IsNullOrEmpty(element.Image))
            {
                switch (element.ImageAlignment)
                {
                case ImageAlignment.Left:
                    editText.SetCompoundDrawablesWithIntrinsicBounds(GetDrawable(element.Image), null, null, null);
                    break;

                case ImageAlignment.Right:
                    editText.SetCompoundDrawablesWithIntrinsicBounds(null, null, GetDrawable(element.Image), null);
                    break;
                }
            }
            // editText.SetBackground()
            editText.CompoundDrawablePadding = 25;
            Control.Background.SetColorFilter(element.LineColor.ToAndroid(), PorterDuff.Mode.SrcAtop);
        }
Exemple #5
0
        protected override void OnElementChanged(ElementChangedEventArgs <Picker> e)
        {
            base.OnElementChanged(e);
            if (e.NewElement != null || e.NewElement == null)

            {
                var customPicker = e.NewElement as ImagePicker;
                element = (ImagePicker)this.Element;


                var picker = this.Control;
                if (!string.IsNullOrEmpty(element.Image))
                {
                    switch (element.ImageAlignment)
                    {
                    case ImageAlignment.Left:
                        picker.SetCompoundDrawablesWithIntrinsicBounds(GetDrawable(element.Image), null, null, null);
                        break;

                    case ImageAlignment.Right:
                        picker.SetCompoundDrawablesWithIntrinsicBounds(null, null, GetDrawable(element.Image), null);
                        break;
                    }
                }
                picker.CompoundDrawablePadding = 25;
                Control.Background.SetColorFilter(element.LineColor.ToAndroid(), PorterDuff.Mode.SrcAtop);

                Control.SetHintTextColor(Android.Graphics.Color.ParseColor(customPicker.PlaceholderColor));
            }
        }
        private void OnImagePickerFinishedPickingMedia(object sender, UIImagePickerMediaPickedEventArgs args)
        {
            string  targetPath = null;
            UIImage image      = args.EditedImage ?? args.OriginalImage;

            if (image != null)
            {
                // Convert UIImage to .NET Stream object
                NSData data = image.AsJPEG(1);
                using (System.IO.Stream stream = data.AsStream())
                {
                    string extension = ".jpg";

                    string fullFileName = FileNameWithoutExtension + extension;
                    targetPath = System.IO.Path.Combine(CopyToDirectory, fullFileName);

                    // copy the file to the destination and set the completion of the Task
                    using (var copiedFileStream = new System.IO.FileStream(targetPath, System.IO.FileMode.OpenOrCreate))
                    {
                        stream.CopyTo(copiedFileStream);
                    }
                    TaskCompletionSource.SetResult(fullFileName); // we'll reconstruct the path at runtime
                }
            }
            else
            {
                TaskCompletionSource.SetResult(null);
            }
            ImagePicker.DismissViewController(true, null);
        }
Exemple #7
0
    void Start()
    {
#if UNITY_ANDROID
        imagePicker = new ImagePickerAndroid();
#elif UNITY_IPHONE
        imagePicker = new ImagePickeriOS();
#endif
    }
Exemple #8
0
        private int GetRandomImage()
        {
            string imageName = ImagePicker.GetRandomImage(ViewModel.CurrentGem.author);

            int result = (int)typeof(Resource.Drawable).GetField(imageName.ToLower()).GetValue(null);

            return(result);
        }
Exemple #9
0
 public SplitChannelSettings(Image previewControl, Image tooltipControl, CheckBox invertCheckbox, Button saveButton, ImagePicker imagePicker, EChannel targetChannel)
 {
     this.previewControl = previewControl;
     this.tooltipControl = tooltipControl;
     this.invertCheckbox = invertCheckbox;
     this.saveButton     = saveButton;
     this.targetChannel  = targetChannel;
     this.imagePicker    = imagePicker;
 }
Exemple #10
0
    public override void  Start()
    {
        base.Start();
        imagePicker = GetOrCreateComponent <ImagePicker>();
        data        = new ImagePickerData(null, null, "Gallery", 1600, 1600, true, true);

        data.gameObject = gameObject.name;
        data.callback   = CustomeReceiver;
    }
Exemple #11
0
        protected override void OnCreate(Bundle savedInstanceState)
        {
            OverridePendingTransition(0, 0);

            SetTheme(StyleHelper.Style.CommonActivityStyle);

            base.OnCreate(savedInstanceState);

            SetContentView(Resource.Layout.activity_chat_details);

            _navigationBarView = FindViewById <NavigationBarView>(Resource.Id.activity_chat_details_navigation_bar);
            _navigationBarView.SetLeftButton(StyleHelper.Style.NavigationBarBackButtonIcon, ViewModel.BackCommand);
            _navigationBarView.SetTitle(ViewModel.LocalizedStrings.DetailsTitle);
            _navigationBarView.SetRightButton(ViewModel.LocalizedStrings.Save, new RelayCommand(OnSaveClick));
            _navigationBarView.RightTextButton.Visibility = ViewStates.Gone;

            _chatPhotoImageView = FindViewById <MvxCachedImageView>(Resource.Id.iv_chat_photo);

            _chatEditedPhotoImageView = FindViewById <MvxCachedImageView>(Resource.Id.iv_chat_photo_edited);

            _chatNameText     = FindViewById <TextView>(Resource.Id.activity_chat_details_chat_name);
            _chatNameEditText = FindViewById <EditText>(Resource.Id.activity_chat_details_chat_name_edit);

            _chatMembersCountTextView = FindViewById <TextView>(Resource.Id.tv_members_count);

            _addMemberContainer = FindViewById <LinearLayout>(Resource.Id.activity_chat_details_add_member_container);
            _addmemberImageView = FindViewById <ImageView>(Resource.Id.activity_chat_details_add_member_image);
            _addmemberImageView.SetImageResource(StyleHelper.Style.AddMemberIcon);
            _addMemberTextView      = FindViewById <TextView>(Resource.Id.activity_chat_details_add_member_text);
            _addMemberTextView.Text = ViewModel.LocalizedStrings.AddMembers;

            _membersRecyclerView = FindViewById <RecyclerView>(Resource.Id.rv_contacts_list);

            _changeChatPhotoButton = FindViewById <Button>(Resource.Id.b_chat_change_photo);
            _changeChatPhotoButton.SetCommand(new RelayCommand(OpenImagePicker));
            _changeChatPhotoButton.Text = ViewModel.LocalizedStrings.ChangePhoto;

            _muteNotificationsLabel      = FindViewById <TextView>(Resource.Id.activity_chat_details_mute_label);
            _muteNotificationsLabel.Text = ViewModel.LocalizedStrings.Notifications;
            _muteNotificationsSwitch     = FindViewById <SwitchCompat>(Resource.Id.activity_chat_details_mute_switch);
            _muteNotificationsSwitch.SetCommand(ViewModel.HeaderViewModel.ChangeMuteNotificationsCommand);

            InitializeMembersRecyclerView();

            // TODO YP: remove ServiceLocator
            _imagePicker = new ImagePicker(
                Dependencies.Container.Resolve <IPermissionsManager>(),
                Dependencies.Container.Resolve <IImagePickerService>())
            {
                MaxImageWidth = 300
            };

            _busyOverlayView = FindViewById <BusyOverlayView>(Resource.Id.activity_chat_details_busy_view);
        }
Exemple #12
0
 /// <summary>Handles loading and changing the Server Icon</summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void PFPPictureBox_Click(object sender, EventArgs e)
 {
     if (ImagePicker.ShowDialog() == DialogResult.OK)
     {
         Image NewPFP = Trace.SafeLoadImage(ImagePicker.FileName);
         PFPPictureBox.Image = NewPFP;
         MyTrace.ServerLogo  = NewPFP;
         GeneratePreview();
         Modified = true;
     }
 }
Exemple #13
0
 private void start()
 {
     ImagePicker.With(this)
     .SetFolderMode(config.FolderMode)
     .SetCameraOnly(config.CameraOnly)
     .SetFolderTitle(config.FolderTitle)
     .SetMultipleMode(config.MultipleMode)
     .SetSelectedImages(config.SelectedImages)
     .SetMaxSize(config.MaxSize)
     .Start();
 }
Exemple #14
0
    void SetupPicker()
    {
        if (picker == null)
        {
            picker = SmartMonoBehaviour.FindOrCreate <ImagePicker>();
        }

        data            = new ImagePickerData();
        data.gameObject = name;
        data.callback   = ReceiveFilename;
        data.showCamera = true;
    }
Exemple #15
0
        public void SelectUserAvatar(ObservableUser observableUser)
        {
//            var fileDialog = new OpenFileDialog();
//            var result = fileDialog.ShowDialog();
//
//            if (result == true)
//            {
//                var file = fileDialog.FileName;
//                observableUser.Image = file;
//            }
            ImagePicker.PickImage(observableUser, nameof(observableUser.Image));
        }
        protected override FrameworkElement GenerateEditingElement(DataGridCell cell, object dataItem)
        {
            var element = new ImagePicker();

            element.IsEditable = true;

            //the binding order of FilePath and ImageStream is important because the dependent of its. Must set ImageStream binding before FilePath binding because if set FilePath fisrt, ImageStream create by FilePath will be overrided by ImageStream binding value
            element.SetBinding(ImagePicker.ImageStreamProperty, ImageStreamBinding);
            element.SetBinding(ImagePicker.FilePathProperty, Binding);

            return(element);
        }
Exemple #17
0
        // This is a sample method that handles the FinishedPickingMediaEvent
        protected void Handle_FinishedPickingMedia(object sender, UIImagePickerMediaPickedEventArgs e)
        {
            // get the original image
            UIImage originalImage = e.Info[UIImagePickerController.OriginalImage] as UIImage;

            // do something with the image

            //UIImage logoImage = originalImage;
            Imagelogo.Image = originalImage;

            // dismiss the picker
            ImagePicker.DismissModalViewController(true);
        }
        protected override void OnElementChanged(ElementChangedEventArgs <Picker> e)
        {
            base.OnElementChanged(e);

            element = (ImagePicker)this.Element;
            var editText = this.Control;

            if (Control != null && this.Element != null && !string.IsNullOrEmpty(element.Image))
            {
                editText.SetCompoundDrawablesWithIntrinsicBounds(AddPickerStyles(element.Image), null, null, null);
            }
            editText.CompoundDrawablePadding = 25;
        }
        //protected override void OnElementChanged(ElementChangedEventArgs<Syncfusion.SfPicker.XForms.SfPicker> e)
        //{
        //    base.OnElementChanged(e);

        //    element = (ImagePicker)this.Element;

        //    //if (Control != null && this.Element != null && !string.IsNullOrEmpty(element.DropDownImage))
        //    //{

        //    //    Control.Dra .SetCompoundDrawablesWithIntrinsicBounds(null, null, AddPickerStyles(element.DropDownImage, GravityFlags.Left), null);
        //    //    Control.SetHintTextColor(element.PlaceHolderColor.ToAndroid());
        //    //}

        //    //Control.CompoundDrawablePadding = 25;
        //}

        protected override void OnElementChanged(ElementChangedEventArgs <Picker> e)
        {
            base.OnElementChanged(e);

            element = (ImagePicker)this.Element;

            if (Control != null && this.Element != null && !string.IsNullOrEmpty(element.DropDownImage))
            {
                Control.SetCompoundDrawablesWithIntrinsicBounds(null, null, AddPickerStyles(element.DropDownImage, GravityFlags.Left), null);
                Control.SetHintTextColor(element.PlaceHolderColor.ToAndroid());
            }

            Control.CompoundDrawablePadding = 25;
        }
        public void Start()
        {
            bool folderMode   = folderModeSwitch.Checked;
            bool multipleMode = multipleModeSwitch.Checked;
            bool cameraOnly   = cameraOnlySwitch.Checked;

            ImagePicker.With(this)
            .SetFolderMode(folderMode)
            .SetCameraOnly(cameraOnly)
            .SetFolderTitle("Album")
            .SetMultipleMode(multipleMode)
            .SetSelectedImages(images)
            .SetMaxSize(10)
            .Start();
        }
        protected override void OnCreate(Bundle savedInstanceState)
        {
            OverridePendingTransition(0, 0);

            SetTheme(StyleHelper.Style.CommonActivityStyle);

            base.OnCreate(savedInstanceState);

            SetContentView(Resource.Layout.activity_chat_create);

            _navigationBarView = FindViewById <NavigationBarView>(Resource.Id.activity_chat_create_navigation_bar);
            _navigationBarView.SetLeftButton(StyleHelper.Style.NavigationBarBackButtonIcon, ViewModel.BackCommand);
            _navigationBarView.SetTitle(ViewModel.LocalizedStrings.CreateGroup);
            _navigationBarView.SetRightButton(ViewModel.LocalizedStrings.Create, new RelayCommand(() =>
            {
                KeyboardService.HideSoftKeyboard(_chatNameEditTextView);

                ViewModel.SaveCommand.Execute(_imagePicker.GetStreamFunc());
            }));
            _navigationBarView.RightTextButton.SetBackgroundColor(Color.Transparent);

            _chatPhotoImageView       = FindViewById <MvxCachedImageView>(Resource.Id.iv_chat_photo);
            _chatEditedPhotoImageView = FindViewById <MvxCachedImageView>(Resource.Id.iv_chat_photo_edited);
            _chatNameEditTextView     = FindViewById <EditText>(Resource.Id.et_chat_name);
            _contactsRecyclerView     = FindViewById <RecyclerView>(Resource.Id.rv_contacts_list);
            _membersCountTextView     = FindViewById <TextView>(Resource.Id.tv_members_count);
            _changeChatPhotoButton    = FindViewById <Button>(Resource.Id.b_chat_change_photo);
            _changeChatPhotoButton.SetCommand(new RelayCommand(ChangePhoto));
            _changeChatPhotoButton.Text = ViewModel.LocalizedStrings.ChangePhoto;

            InitializeContactsRecyclerView();

            _imagePicker = new ImagePicker(Dependencies.PermissionsManager, Dependencies.Container.Resolve <IImagePickerService>())
            {
                MaxImageWidth = 300
            };

            _chatPhotoImageView.SetImageResource(StyleHelper.Style.ChatGroupNoAvatarIcon);
            _chatEditedPhotoImageView.Visibility = ViewStates.Gone;

            _addMembers      = FindViewById <Button>(Resource.Id.activity_chat_create_add_member);
            _addMembers.Text = ViewModel.LocalizedStrings.AddMembers;
            _addMembers.SetCommand(ViewModel.AddMembersCommand);

            _chatNameEditTextView.Hint = ViewModel.LocalizedStrings.ChatName;

            _busyOverlayView = FindViewById <BusyOverlayView>(Resource.Id.activity_chat_create_busy_view);
        }
Exemple #22
0
    public void OpenGallery()
    {
        Debug.Log("Kauel: OpenGallery External");

        ImagePicker.OpenGallery((Texture2D tex, ExifOrientation orientation) => {
            Debug.Log("Kauel: OpenGallery Internal");

            if (tex != null)

            {
                Alert.Singleton.ShowAlert(Alert.Message.LOADING, false, delegate() {
                    Debug.Log("Kauel: w:" + tex.width + "h:" + tex.height);

                    int w = tex.width;

                    int h = tex.height;

                    if (w > h)
                    {
                        w = 1024;

                        h = tex.height * w / tex.width;
                    }
                    else
                    {
                        h = 1024;

                        w = tex.width * h / tex.height;
                    }

                    Texture2D resizedTex = tex.NewResizedTexture(w, h);

                    //   Destroy(tex); //Esta linea está a prueba.

                    RawImageEdit.texture = resizedTex;

                    Alert.Singleton.CloseAlert(true);

                    TheKamera.StartFile(resizedTex);

                    kuiPanelManager.ShowOnlyThisPanel(3);
                });
            }
        }, true, ImagePickerType.UIImagePickerControllerSourceTypePhotoLibrary);
    }
        private void BackgroundTypeComboBox_SelectedIndexChanged(object sender, EventArgs e)
        {
            switch (BackgroundTypeComboBox.SelectedIndex)
            {
            case 0:

                //Launch an OpenFileDialog to pick a tile
                if (ImagePicker.ShowDialog() == DialogResult.OK)
                {
                    TileBackground = Trace.SafeLoadImage(ImagePicker.FileName);
                }
                else
                {
                    BackgroundTypeComboBox.SelectedIndex = -1;
                }

                break;

            case 1:

                //Launch the Color Picker from UserForm to pick a color
                UserForm.LoadColors();

                if (UserForm.CardColorPicker.ShowDialog() == DialogResult.OK)
                {
                    TileBackground = new Bitmap(256, 256);
                    using (Graphics GRD = Graphics.FromImage(TileBackground))
                        using (Brush T = new SolidBrush(UserForm.CardColorPicker.Color)) { GRD.FillRectangle(T, 0, 0, 256, 256); }
                }
                else
                {
                    BackgroundTypeComboBox.SelectedIndex = -1;
                }

                UserForm.SaveColors();

                break;

            default:
                break;
            }

            pictureBox1.Image = TileBackground;
        }
        public void CreateUI()
        {
            AnnotationValue.PropertyChanged += new PropertyChangedEventHandler(OnResourcePropertyChanged);

            if (IsTexture)
            {
                UIElement = new ImagePicker(this);
            }
            else if (DataType.IsBool() && IsScalar)
            {
                UIElement = PropertyHelpers.CreateCheckBox(this, "Value", Value);
            }
            else if (!DataType.IsBool() && IsScalar && (IsSNorm || IsUNorm ||
                                                        (Annotations?.Contains(new KeyValuePair <string, string>("UIWidget", "Slider")) ?? false)))
            {
                object val = Value;
                if (val == null)
                {
                    if (DataType.IsIntegral())
                    {
                        Value = 0;
                    }
                    else
                    {
                        Value = 0.0;
                    }
                }
                UIElement = PropertyHelpers.CreateSlider(this, "Value", this, val);
            }
            else if (!IsMatrix && (Columns == 3 || Columns == 4) &&
                     (Annotations?.Contains(new KeyValuePair <string, string>("UIWidget", "Color")) ?? false))
            {
                UIElement = PropertyHelpers.CreateColorPicker(this, "Value", (Columns == 4) ? true : false, Value);
            }
            else if (IsScalar)
            {
                UIElement = PropertyHelpers.CreateSpinner(this, "Value", this, Value);
            }
            else
            {
                UIElement = new DropdownVecMatProperty(this);
            }
        }
Exemple #25
0
    private void SetFileName(string path)
    {
        receivedMimeType = selectedMimeType;
        shareFile        = path;
        data.imageSetter = x => share = x;
        switch (selectedMimeType)
        {
        case 1:     //video
            //load a preview
            picker.GetVideoPreview(data, shareFile);
            break;

        case 0:     //image
            StartCoroutine(ImagePicker.LoadImage(shareFile, data.imageSetter));
            break;

        default:
            Debug.LogWarning("Implement your mimetype handling here");
            break;
        }
    }
Exemple #26
0
    /// <summary>
    /// Customized callback so we get more control
    /// </summary>
    /// <param name="value">the filename (or names) of the selected file</param>
    public virtual void ReceiveFilename(string result)
    {
        if (string.IsNullOrEmpty(result))
        {
            //use logcat to get more information
            Debug.Log("Result was empty, check logcat");
            if (data.callbackError != null)
            {
                data.callbackError.Invoke();
            }
            return;
        }

        if (data.imageSetter == null)
        {
            SetFileName(result);
        }
        else
        {
            StartCoroutine(ImagePicker.LoadImage(result, data.imageSetter));
        }
    }
Exemple #27
0
 void btnImage_Click(object sender, EventArgs e)
 {
     if (Loading)
     {
         return;
     }
     ImagePicker.InitialDirectory = I9Gfx.GetEnhancementsPath();
     ImagePicker.FileName         = mySet.Image;
     if (ImagePicker.ShowDialog() == DialogResult.OK)
     {
         string str = FileIO.StripPath(ImagePicker.FileName);
         if (!File.Exists(FileIO.AddSlash(ImagePicker.InitialDirectory) + str))
         {
             int num = (int)Interaction.MsgBox(("You must select an image from the " + I9Gfx.GetEnhancementsPath() + " folder!\r\n\r\nIf you are adding a new image, you should copy it to the folder and then select it."), MsgBoxStyle.Information, "Ah...");
         }
         else
         {
             mySet.Image = str;
             DisplayIcon();
         }
     }
 }
        private bool ChooseReleasePicture(ReleaseData releaseData, int releaseNumber)
        {
            List<ImageViewModel> images = new List<ImageViewModel>();
            foreach (ImageItem imageItem in releaseData.Images)
            {
                ImageViewModel imageViewModel = new ImageViewModel(imageItem);
                images.Add(imageViewModel);
            }

            string title = "Choose image for release " + releaseNumber + "/" + this.totalReleases + " - " + releaseData.Release.JoinedAlbumArtists + " - " + releaseData.Release.Title;

            bool pickResult = false;

            this.waitWindow.Dispatcher.Invoke(() =>
            {
                ImagePicker picker = new ImagePicker(title, images);
                if (picker.ShowDialog() == true)
                {
                    ImageViewModel selectedItem = (ImageViewModel)picker.SelectedItem;
                    this.UpdateImageForRelease(releaseData, selectedItem);
                    pickResult = true;
                }
                else if (picker.IsSkipped)
                {
                    pickResult = true;
                }
                else
                {
                    pickResult = false;
                }
            });

            return pickResult;
        }
 private void OnImagePickerCancelled(object sender, EventArgs args)
 {
     TaskCompletionSource.SetResult(null);
     ImagePicker.DismissViewController(true, null);
 }
        private void SetupUserInterface()
        {
            BackgroundColor = Color.Black;
            NavigationPage.SetHasNavigationBar(this, false);

            colorButton = new Image
            {
                Source = Images.Paintbrush
            };

            clockButton = new Image
            {
                Source = Images.ClockButton
            };

            sendButton = new Image
            {
                Source = Images.SendMomentButton
            };

            cancelButton = new Image
            {
                Source = Images.CancelButton,
                HorizontalOptions = LayoutOptions.Start,
                HeightRequest = 22,
                WidthRequest = 22
            };

            var moment = new Image
            {
                HorizontalOptions = LayoutOptions.FillAndExpand,
                VerticalOptions = LayoutOptions.FillAndExpand,
                Source = ImageSource.FromStream(() => new MemoryStream(ViewModel.Image))
            };

            var drawableMoment = new DrawableImage
            {
                BackgroundColor = Color.Transparent
            };
            drawableMoment.SetBinding(DrawableImage.CurrentLineColorProperty, "PenColor");

            mainLayout = new RelativeLayout()
            {
                Padding = new Thickness(0)
            };

            mainLayout.Children.Add(moment,
                Constraint.Constant(0),
                Constraint.Constant(0),
                Constraint.RelativeToParent((parent) => { return parent.Width; }),
                Constraint.RelativeToParent((parent) => { return parent.Height; }));

            mainLayout.Children.Add(drawableMoment,
                Constraint.Constant(0),
                Constraint.Constant(0),
                Constraint.RelativeToParent((parent) => { return parent.Width; }),
                Constraint.RelativeToParent((parent) => { return parent.Height; }));

            mainLayout.Children.Add(colorButton,
                Constraint.RelativeToParent((parent) => { return parent.Width - 40; }),
                Constraint.Constant(15),
                Constraint.Constant(30),
                Constraint.Constant(30));

            mainLayout.Children.Add(cancelButton,
                Constraint.RelativeToParent((parent) => { return 15; }),
                Constraint.Constant(15),
                Constraint.Constant(30),
                Constraint.Constant(30));

            mainLayout.Children.Add(clockButton,
                Constraint.Constant(15),
                Constraint.RelativeToParent((parent) => { return parent.Height - 40; }),
                Constraint.Constant(30),
                Constraint.Constant(30));

            mainLayout.Children.Add(sendButton,
                Constraint.RelativeToParent((parent) => { return parent.Width - 40; }),
                Constraint.RelativeToParent((parent) => { return parent.Height - 40; }),
                Constraint.Constant(30),
                Constraint.Constant(30));

            picker = new ImagePicker();
            GetTimePickerItems();
            SetupBindings();
            mainLayout.Children.Add(picker,
                Constraint.Constant(15),
                Constraint.RelativeToParent((parent) => { return parent.Height - 40; }),
                Constraint.Constant(30),
                Constraint.Constant(30));

            Content = mainLayout;
        }
Exemple #31
0
        public override System.Boolean OnOptionsItemSelected(IMenuItem item)
        {
            switch (item.ItemId)
            {
            case Resource.Id.id_action_btn_Add: {
                ImagePicker.With(this).SetFolderMode(true)
                .SetCameraOnly(false)
                .SetFolderTitle("Album")
                .SetMultipleMode(true)
                .SetSelectedImages(mImageList)
                .SetMaxSize(10)
                .Start();
                // GetImageStreamAsync();
                break;
            }

            case Resource.Id.id_action_btn_remove_all: {
                AlertDialog.Builder builder = new AlertDialog.Builder(this);
                builder.SetTitle("提示");
                builder.SetMessage("是否要删除所有已选照片?");
                builder.SetPositiveButton(Resource.String.str_cn_confrim, (ss, ee) => {
                        mImageAdapter.mImageViewer.RemoveAll();
                        mImageAdapter.NotifyDataSetChanged();
                    });
                builder.SetNegativeButton(Resource.String.str_cn_cancel, (ss, ee) => { });
                builder.Create().Show();
                break;
            }

            case Resource.Id.id_action_btn_appinfo: {
                string curInfo = "联系作者:[email protected]\n\n" + "软件版本:\n" +
                                 "\n\t版本号 " + mHhiAndroid.GetAppInfo().CurrentVer.ToString() +
                                 "\n\t传输协议版本 " + mHhiAndroid.GetAppInfo().NetProtocolVer.ToString() + "\n\n";

                string checkResult          = mHhiAndroid.CheckVer();
                AlertDialog.Builder builder = new AlertDialog.Builder(this);
                builder.SetTitle("提示");
                if (checkResult == "uptodate")
                {
                    builder.SetMessage(curInfo + "已是最新版本");
                    builder.SetPositiveButton(Resource.String.str_cn_confrim, (sender, e) => { });
                }
                else if (checkResult == "obsoleted")
                {
                    builder.SetMessage(curInfo + "当前版本已经被废弃不可使用\n请更新");
                    builder.SetPositiveButton(Resource.String.str_cn_confrim, (ss, ee) => {
                            Intent intent = new Intent();
                            intent.SetAction("android.intent.action.VIEW");
                            Uri content_url = Uri.Parse(checkResult);
                            intent.SetData(content_url);
                            StartActivity(intent);
                        });
                    builder.SetNegativeButton(Resource.String.str_cn_cancel, (ss, ee) => { });
                }
                else
                {
                    builder.SetMessage(curInfo + "有新版本可以使用\n是否更新?");
                    builder.SetPositiveButton(Resource.String.str_cn_confrim, (ss, ee) => {
                            Intent intent = new Intent();
                            intent.SetAction("android.intent.action.VIEW");
                            Uri content_url = Uri.Parse(checkResult);
                            intent.SetData(content_url);
                            StartActivity(intent);
                        });
                    builder.SetNegativeButton(Resource.String.str_cn_cancel, (ss, ee) => { });
                }
                builder.Create().Show();
                break;
            }
            }
            return(base.OnOptionsItemSelected(item) || mDrawerToggle.OnOptionsItemSelected(item));
        }
        private string GetRandomImage()
        {
            string result = ImagePicker.GetRandomImage(ViewModel.CurrentGem.author);

            return("Images/" + result + ".jpg");
        }