コード例 #1
0
#pragma warning disable CS0618
        private void rowLongClick(object sender, View.LongClickEventArgs e)
        {
            ClipData data = ClipData.NewPlainText("", "");

            View.DragShadowBuilder shadowBuilder = new View.DragShadowBuilder(((View)sender));
            ((View)sender).StartDrag(data, shadowBuilder, (View)sender, 0);
        }
コード例 #2
0
        public bool OnLongClick(View v)
        {
            var      item      = new ClipData.Item(v.Tag.JavaCast <Java.Lang.String>());
            var      mimeTypes = new String[1];
            ClipData data      = null;

            if (v is ImageView)
            {
                // image item only drags WITHIN THE APP
                mimeTypes[0] = "image/jpeg";
                data         = new ClipData(v.Tag.JavaCast <Java.Lang.String>().ToString(), mimeTypes, item);
                // TODO: allow image to drag to other apps
            }
            else if (v is TextView)
            {
                // use plain text, can drag outside the app
                data = ClipData.NewPlainText(
                    new Java.Lang.String(v.Tag.ToString()),
                    new Java.Lang.String((v as TextView).Text)
                    );
            }

            var dragShadowBuilder = new View.DragShadowBuilder(v);

            // flags required to drag to other apps
            v.StartDragAndDrop(data, dragShadowBuilder, v, (int)ADragFlags.Global | (int)ADragFlags.GlobalUriRead | (int)ADragFlags.GlobalUriWrite);

            return(true);
        }
コード例 #3
0
			public override bool onLongClick(View view)
			{
				ClipData data = ClipData.newPlainText("", "");
				DragShadowBuilder shadowBuilder = new View.DragShadowBuilder(outerInstance.mMainAppImage);
				view.startDrag(data, shadowBuilder, outerInstance.mMainAppImage, 0);
				return true;
			}
コード例 #4
0
            public override bool onLongClick(View view)
            {
                ClipData          data          = ClipData.newPlainText("", "");
                DragShadowBuilder shadowBuilder = new View.DragShadowBuilder(outerInstance.mMainDeviceLayout != null ? outerInstance.mMainDeviceLayout : outerInstance.mBarHandler);

                view.startDrag(data, shadowBuilder, outerInstance.mBarHandler, 0);
                return(true);
            }
コード例 #5
0
            public override bool onLongClick(View view)
            {
                ClipData          data          = ClipData.newPlainText("", "");
                DragShadowBuilder shadowBuilder = new View.DragShadowBuilder(outerInstance.mMainAppImage);

                view.startDrag(data, shadowBuilder, outerInstance.mMainAppImage, 0);
                return(true);
            }
コード例 #6
0
        // Long click event to start dragging when CarView has a LongClick event.
        public bool OnLongClick(View view)
        {
            ClipData          data          = ClipData.NewPlainText("", "");
            DragShadowBuilder shadowBuilder = new View.DragShadowBuilder(view);

            // TODO: Update to work with non-depracated methods.
            view.StartDrag(data, shadowBuilder, view, 0);
            view.Visibility = ViewStates.Invisible;
            return(true);
        }
コード例 #7
0
        void Row_LongClick(object sender, View.LongClickEventArgs e)
        {
            if (sender is LinearLayout)
            {
                var view  = sender as LinearLayout;
                var index = (int)view.GetTag(Resource.String.RouteItemOrder);

                //var data = ClipData.NewPlainText(@"data", @"my_data");
                var data = ClipData.NewPlainText(@"RouteItemOrder", index.ToString());
                //var shadow = new MyShadowBuilder(view);
                var shadow = new View.DragShadowBuilder(view);
                view.StartDrag(data, shadow, null, 0);
            }
        }
コード例 #8
0
        public bool OnItemLongClick(AdapterView parent, View view, int position, long id)
        {
            var selectedItem = ((IList)_element.ItemsSource)[(int)id];

            DragItem dragItem = new DragItem(NormalizeListPosition(position), view, selectedItem);

            var data = ClipData.NewPlainText(string.Empty, string.Empty);

            View.DragShadowBuilder shadowBuilder = new View.DragShadowBuilder(view);

            view.Visibility = ViewStates.Invisible;

            view.StartDragAndDrop(data, shadowBuilder, dragItem, 0);
            return(true);
        }
コード例 #9
0
        public static void DragOver
        (
            this View draggedView,
            View backgroudView
        )
        {
            View.IOnDragListener dragListener = new DragListener(draggedView);
            backgroudView.SetOnDragListener(dragListener);

            var shadowBuilder = new View.DragShadowBuilder(draggedView);

            draggedView.StartDrag // StartDragAndDrop
            (
                null,             // the data to be dragged
                shadowBuilder,
                null,             // no need to use local data
                0                 // flags (not currently used, set to 0)
            );
        }
コード例 #10
0
        public bool OnLongClick(View v)
        {
            var item      = new ClipData.Item(v.Tag.JavaCast <Java.Lang.String>());
            var mimeTypes = new String[1];

            if (v is ImageView)
            {
                mimeTypes[0] = "image/jpeg";
            }
            else if (v is TextView)
            {
                mimeTypes[0] = ClipDescription.MimetypeTextPlain;
            }

            var data = new ClipData(v.Tag.JavaCast <Java.Lang.String>().ToString(), mimeTypes, item);

            var dragShadowBuilder = new View.DragShadowBuilder(v);

            v.StartDragAndDrop(data, dragShadowBuilder, v, 0);

            return(true);
        }
コード例 #11
0
        public bool OnItemLongClick(AdapterView parent, View view, int position, long id)
        {
            object selectedItem = ItemLongClickAndGetSelectedItem((int)id);

            // Creating drag state
            DragItem dragItem = new DragItem(NormalizeListPosition(position), view, selectedItem);

            // Creating a blank clip data object (we won't depend on this)
            var data = ClipData.NewPlainText(string.Empty, string.Empty);

            // Creating the default drag shadow for the item (the translucent version of the view)
            // NOTE: Can create a custom view in order to change the dragged item view
            View.DragShadowBuilder shadowBuilder = new View.DragShadowBuilder(view);

            // Setting the original view cell to be invisible
            view.Visibility = ViewStates.Invisible;

            // NOTE: this method is introduced in Android 24, for earlier versions the StartDrag method should be used
            view.StartDragAndDrop(data, shadowBuilder, dragItem, 0);

            return(true);
        }
コード例 #12
0
        public void tile_LongClick(object sender, View.LongClickEventArgs e)
        {
            var      imageViewTouch = (sender) as AlgeTilesTextView;
            ClipData data           = ClipData.NewPlainText(Constants.BUTTON_TYPE, Constants.ORIGINAL_BUTTON);

            switch (imageViewTouch.Id)
            {
            case Resource.Id.tile_1:
                data = ClipData.NewPlainText(Constants.BUTTON_TYPE, Constants.ONE_TILE);
                break;

            case Resource.Id.x_tile:
                data = ClipData.NewPlainText(Constants.BUTTON_TYPE, Constants.X_TILE);
                break;

            case Resource.Id.y_tile:
                data = ClipData.NewPlainText(Constants.BUTTON_TYPE, Constants.Y_TILE);
                break;

            case Resource.Id.xy_tile:
                data = ClipData.NewPlainText(Constants.BUTTON_TYPE, Constants.XY_TILE);
                break;

            case Resource.Id.y2_tile:
                data = ClipData.NewPlainText(Constants.BUTTON_TYPE, Constants.Y2_TILE);
                break;

            case Resource.Id.x2_tile:
                data = ClipData.NewPlainText(Constants.BUTTON_TYPE, Constants.X2_TILE);
                break;
            }
            a.dragToggle.Checked   = false;
            a.removeToggle.Checked = false;

            View.DragShadowBuilder shadowBuilder = new View.DragShadowBuilder(imageViewTouch);
            imageViewTouch.StartDrag(data, shadowBuilder, imageViewTouch, 0);
        }
コード例 #13
0
        /// <summary>
        /// Override OnCreate()
        /// </summary>
        protected async override void OnCreate(Bundle bundle)
        {
            base.OnCreate(bundle);
            /// <summary>
            /// Initialise the counter to 0
            /// </summary>
            int counter = 0;

            /// <summary>
            /// Define sensor manager,detector and events
            /// </summary>
            _sensorManager = (SensorManager)GetSystemService(Context.SensorService);
            _sensor        = _sensorManager.GetDefaultSensor(SensorType.Accelerometer);
            _shakeDetector = new ShakeDetector();
            /// <summary>
            /// Preload 15 items
            /// </summary>
            ProgressDialog pd = new ProgressDialog(this);

            pd.SetTitle("Loading..");
            pd.Show();
            for (int i = 0; i < 15; i++)
            {
                if (CheckConnection.iSConnected())
                {
                    propsList.Add(await SetViewProperties.SetProperties(new ViewProps()));
                }
                else
                {
                    propsList.Add(SetViewProperties.SetViewProperty(new ViewProps()));
                }
            }
            pd.Dismiss();
            /// <summary>
            ///  Set our view from the "main" layout resource
            /// </summary>
            SetContentView(Resource.Layout.Main);
            /// <summary>
            ///  Device specific properties
            /// </summary>
            DeviceSpecificProperties props = new DeviceSpecificProperties();
            double Y = props.inchY;
            /// <summary>
            ///  //Define the views and layouts which can be accessed
            /// </summary>
            ImageView imageView = FindViewById <ImageView>(Resource.Id.imageView);

            imageView.SetImageResource(Resource.Drawable.Icon);
            RelativeLayout layout = FindViewById <RelativeLayout>(Resource.Id.mainLayout);

            _shakeDetector.Shaked += (sender1, shakeCount) =>
            {
                lock (_syncLock)
                {
                    imageView.Visibility = ViewStates.Invisible;
                }
            };
            /// <summary>
            ///  Events
            /// </summary>
            imageView.LongClick += (sender, e) =>
            {
                View v = (View)sender;

                ClipData.Item item      = new ClipData.Item("category", "value");
                string[]      mimeTypes = { ClipDescription.MimetypeTextPlain };

                ClipData dragData = new ClipData("category", mimeTypes, item);
                View.DragShadowBuilder myShadow = new View.DragShadowBuilder(imageView);

                imageView.StartDrag(dragData, myShadow, null, 0);
            };
            imageView.Drag += (sender, e) =>
            {
                View v = (View)sender;
                switch (e.Event.Action)
                {
                case DragAction.Started:
                    layoutParams = (RelativeLayout.LayoutParams)v.LayoutParameters;
                    break;

                case DragAction.Entered:
                    var x_cord = (int)e.Event.GetX();
                    var y_cord = (int)e.Event.GetY();
                    break;

                case DragAction.Exited:
                    x_cord = (int)e.Event.GetX();
                    y_cord = (int)e.Event.GetY();
                    layoutParams.LeftMargin = x_cord;
                    layoutParams.TopMargin  = y_cord;
                    v.LayoutParameters      = layoutParams;
                    break;

                case DragAction.Location:
                    x_cord = (int)e.Event.GetX();
                    y_cord = (int)e.Event.GetY();
                    break;

                case DragAction.Drop:
                    break;

                default: break;
                }
            };
            int prevtime = 0;

            imageView.Click += async(sender, e) =>
            {
                prevtime++;

                if (prevtime == 2)
                {
                    if (CheckConnection.iSConnected())
                    {
                        var res = await SetViewProperties.SetProperties(new ViewProps());

                        imageView.SetImageBitmap(res.image);

                        if (res.title != null)
                        {
                            ActionBar.Title = res.title;
                        }
                    }
                    else
                    {
                        var res = SetViewProperties.SetViewProperty(new ViewProps());

                        imageView.SetImageBitmap(res.image);

                        if (res.title != null)
                        {
                            ActionBar.Title = res.title;
                        }
                    }

                    prevtime = 0;
                }
            };
            layout.Touch += (sender, e) =>
            {
                try
                {
                    imageView.Visibility = ViewStates.Visible;
                    var x_cord = (int)e.Event.RawX;
                    var y_cord = (int)(e.Event.RawY - Y * 0.23);
                    layoutParams               = new RelativeLayout.LayoutParams((int)100, (int)100);
                    layoutParams.LeftMargin    = x_cord;
                    layoutParams.TopMargin     = y_cord;
                    imageView.LayoutParameters = layoutParams;
                    if (e.Event.Action == MotionEventActions.Up)
                    {
                        try
                        {
                            if (counter < 15)
                            {
                                var res = propsList[counter];
                                imageView.SetImageBitmap(res.image);

                                if (res.title != null)
                                {
                                    ActionBar.Title = res.title;
                                }

                                counter++;

                                //if (CheckConnection.iSConnected())
                                //{
                                //    var res = await SetViewProperties.SetProperties(new ViewProps());
                                //    //var res = propsList[counter + 1];
                                //    imageView.SetImageBitmap(res.image);
                                //    ActionBar.Title = res.title;
                                //}
                                //else
                                //{
                                //    var res = SetViewProperties.SetViewProperty(new ViewProps());
                                //    imageView.SetImageBitmap(res.image);
                                //}
                            }
                            else
                            {
                                counter = 0;
                            }
                        }
                        catch (Java.Lang.Exception e1)
                        {
                            e1.PrintStackTrace();
                            var res = SetViewProperties.SetViewProperty(new ViewProps());
                            imageView.SetImageBitmap(res.image);
                        }
                    }
                }
                catch (Java.Lang.Exception e1)
                {
                    var res = SetViewProperties.SetViewProperty(new ViewProps());
                    imageView.SetImageBitmap(res.image);
                }
            };
        }
コード例 #14
0
        public override View GetView(int position, View convertView, ViewGroup parent)
        {
            LinearLayout baseLayout = (LinearLayout)convertView;

            if (baseLayout == null)
            {
                baseLayout = new LinearLayout(Application.Context);
                baseLayout.LongClickable = true;
            }
            baseLayout.RemoveAllViews();
            baseLayout.LayoutParameters = new AbsListView.LayoutParams(
                new ViewGroup.LayoutParams(
                    ViewGroup.LayoutParams.MatchParent,
                    ViewGroup.LayoutParams.WrapContent));
            baseLayout.Orientation = Orientation.Vertical;
            baseLayout.Tag         = position;

            LinearLayout layout = new LinearLayout(Application.Context);

            baseLayout.AddView(layout);

            layout.SetGravity(GravityFlags.CenterVertical);


            Character c = _State.CombatList[position];

            ImageView rv = new ImageView(_View.Context);

            rv.SetImageDrawable(_View.Context.Resources.GetDrawable(
                                    Resource.Drawable.target16));
            layout.AddView(rv);
            rv.Visibility = c.IsReadying?ViewStates.Visible:ViewStates.Gone;



            ImageView dv = new ImageView(_View.Context);

            dv.SetImageDrawable(_View.Context.Resources.GetDrawable(
                                    Resource.Drawable.hourglass16));
            layout.AddView(dv);
            dv.Visibility = c.IsDelaying?ViewStates.Visible:ViewStates.Gone;



            TextView t = new TextView(Application.Context);

            if (t == null)
            {
                t = new TextView(Application.Context);
            }
            t.Text = _State.CombatList[position].Name;
            t.SetTextColor(Android.Graphics.Color.Black);
            t.Ellipsize = Android.Text.TextUtils.TruncateAt.Middle;
            t.Gravity   = GravityFlags.CenterVertical;
            t.SetSingleLine(true);

            SetLayoutBackground(baseLayout, layout, false);
            if (_State.CurrentCharacter == _State.CombatList[position])
            {
                ImageView iv = new ImageView(Application.Context);
                iv.SetImageDrawable(Application.Context.Resources.GetDrawable(Resource.Drawable.next16));

                layout.AddView(iv);
            }

            if (_State.CombatList[position] == _Character)
            {
                layout.SetBackgroundColor(new Android.Graphics.Color(0, 0, 0));

                t.SetTextColor(Android.Graphics.Color.White);
            }

            LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(new ViewGroup.LayoutParams(
                                                                             ViewGroup.LayoutParams.MatchParent, ViewGroup.LayoutParams.MatchParent));
            lp.Weight          = 1.0f;
            t.LayoutParameters = lp;

            t.Click += (object sender, EventArgs e) =>
            {
                if (CharacterClicked != null)
                {
                    CharacterClicked(this, new CharacterEventArgs()
                    {
                        Character = c
                    });
                }
            };
            t.LongClickable = true;
            t.LongClick    += (object sender, View.LongClickEventArgs e) =>
            {
                ClipData data = ClipData.NewPlainText("", "");
                View.DragShadowBuilder shadowBuilder = new View.DragShadowBuilder(baseLayout);
                baseLayout.StartDrag(data, shadowBuilder, baseLayout, 0);
            };


            layout.AddView(t);



            //init button
            Button bu = new Button(_View.Context);

            bu.SetHeight(45);
            bu.SetWidth(45);
            layout.AddView(bu);
            bu.SetBackgroundDrawable(_View.Context.Resources.GetDrawable(Resource.Drawable.blue_button));
            bu.Text = c.CurrentInitiative.ToString();
            bu.SetTextColor(new Android.Graphics.Color(0xff, 0xff, 0xff));
            bu.Click += (object sender, EventArgs e) =>
            {
                new NumberDialog("CurrentInitiative", "Initiative", c, _View.Context).Show();
            };

            //action button
            ImageButton b = new ImageButton(_View.Context);

            b.SetImageDrawable(_View.Context.Resources.GetDrawable(Resource.Drawable.lightning16));
            layout.AddView(b);
            b.SetMaxHeight(45);
            b.SetMinimumHeight(45);
            b.SetMaxWidth(45);
            b.SetMinimumWidth(45);
            b.SetBackgroundDrawable(_View.Context.Resources.GetDrawable(Resource.Drawable.blue_button));


            var options = new List <string>()
            {
                "Move Down", "Move Up", "Ready", "Delay", "Act Now"
            };

            PopupUtils.AttachSimpleStringPopover(c.Name,
                                                 b,
                                                 options,
                                                 (v, index, val) =>
            {
                switch (index)
                {
                case 0:
                    _State.MoveDownCharacter(c);
                    break;

                case 1:
                    _State.MoveUpCharacter(c);
                    break;

                case 2:

                    c.IsReadying = !c.IsReadying;
                    break;

                case 3:
                    c.IsDelaying = !c.IsDelaying;
                    break;

                case 4:
                    _State.CharacterActNow(c);
                    break;
                }
            });

            new ViewUpdateListener(c, layout, rv, dv, bu);

            foreach (Character follower in c.InitiativeFollowers)
            {
                TextView tv = new TextView(_View.Context);
                tv.SetPadding(10, 0, 0, 0);
                tv.Text = follower.Name;
                baseLayout.AddView(tv);
            }

            baseLayout.SetOnDragListener(new ListOnDragListener(this, baseLayout, layout));

            return(baseLayout);
        }
コード例 #15
0
			public override bool onLongClick(View view)
			{
				ClipData data = ClipData.newPlainText("", "");
				DragShadowBuilder shadowBuilder = new View.DragShadowBuilder(outerInstance.mMainDeviceLayout != null ? outerInstance.mMainDeviceLayout : outerInstance.mBarHandler);
				view.startDrag(data, shadowBuilder, outerInstance.mBarHandler, 0);
				return true;
			}
コード例 #16
0
        public override View GetView(int position, View convertView, ViewGroup parent)
        {
            View v = convertView;

            if (v == null)
            {
                LayoutInflater vi = (LayoutInflater)Application.Context.GetSystemService(Context.LayoutInflaterService);
                v = vi.Inflate(Resource.Layout.CharacterListItem, parent, false);

                v.FindViewById <Button>(Resource.Id.nameEditText).Click += delegate
                {
                    UIUtils.ShowTextDialog("Name", _Characters[(int)v.Tag], parent.Context);
                };

                v.FindViewById <Button>(Resource.Id.hpButton).Click += delegate
                {
                    new NumberDialog("HP", _Characters[(int)v.Tag], parent.Context).Show();
                };

                v.FindViewById <Button>(Resource.Id.hpMaxButton).Click += delegate
                {
                    new NumberDialog("MaxHP", _Characters[(int)v.Tag], parent.Context).Show();
                };

                v.FindViewById <Button>(Resource.Id.initButton).Click += delegate
                {
                    new NumberDialog("Init", _Characters[(int)v.Tag].Monster, parent.Context).Show();
                };

                v.FindViewById <ImageButton>(Resource.Id.actionButton).Click += delegate
                {
                    Character c = _Characters[(int)v.Tag];
                    ShowActionDialog(c, parent.Context);
                };

                EventHandler <View.LongClickEventArgs> handler = (object sender, View.LongClickEventArgs e) =>
                {
                    ClipData data = ClipData.NewPlainText("", "");
                    View.DragShadowBuilder shadowBuilder = new View.DragShadowBuilder(v);
                    v.StartDrag(data, shadowBuilder, v, 0);
                };
                v.LongClickable = true;
                v.LongClick    += handler;
                v.FindViewById <Button>(Resource.Id.nameEditText).LongClick         += handler;
                v.FindViewById <Button>(Resource.Id.hpButton).LongClick             += handler;
                v.FindViewById <Button>(Resource.Id.hpMaxButton).LongClick          += handler;
                v.FindViewById <Button>(Resource.Id.initButton).LongClick           += handler;
                v.FindViewById <ImageButton>(Resource.Id.actionButton).LongClick    += handler;
                v.FindViewById <Button>(Resource.Id.nameEditText).LongClickable      = true;
                v.FindViewById <Button>(Resource.Id.hpButton).LongClickable          = true;
                v.FindViewById <Button>(Resource.Id.hpMaxButton).LongClickable       = true;
                v.FindViewById <Button>(Resource.Id.initButton).LongClickable        = true;
                v.FindViewById <ImageButton>(Resource.Id.actionButton).LongClickable = true;
                v.SetOnDragListener(new ListOnDragListener(this, v));
            }
            v.Tag = position;


            Character cp = _Characters[position];

            UpdateViewText(v, cp);
            UpdateConditions(v, cp, parent);
            ConditionChangedHandler cch = new ConditionChangedHandler(v, cp, this, parent);

            _Handlers.Add(cch);

            return(v);
        }