void UpdateImage2()
        {
            var img2        = ElementEx.Image2;
            var img2pressed = ElementEx.Image2Pressed;

            if (img2 != null)
            {
                if (img2pressed == null)
                {
                    var drawable = UIImageFunc.ImageSourceEx2UIImage(img2, isDrawableSimple: false);
                    Control.SetImageDrawable(drawable);
                    ((IVisualElementController)Element).NativeSizeChanged();
                }
                else
                {
                    var drawable1 = UIImageFunc.ImageSourceEx2UIImage(img2pressed, isDrawableSimple: true);
                    var drawable2 = UIImageFunc.ImageSourceEx2UIImage(img2, isDrawableSimple: true);
                    var states    = new StateListDrawable();
                    states.AddState(new int[] { Android.Resource.Attribute.StatePressed }, drawable1);
                    states.AddState(new int[] { }, drawable2);
                    Control.SetImageDrawable(states);
                    ((IVisualElementController)Element).NativeSizeChanged();
                }
            }
        }
Exemple #2
0
        //public override SizeF SizeThatFits(SizeF size)
        //{
        //	var contentEdgeInsets = Control.ContentEdgeInsets;
        //	var eww = contentEdgeInsets.Left + contentEdgeInsets.Right;
        //	var ehh = contentEdgeInsets.Top + contentEdgeInsets.Bottom;
        //	var cww = size.Width - eww;
        //	var chh = size.Height - ehh;

        //	var size2 = new CGSize(cww, double.MaxValue);
        //	var size3 = Control.TitleLabel.SizeThatFits(size2);
        //	var ww = size3.Width + eww;
        //	var hh = size3.Height + ehh;
        //	return new SizeF(ww, hh);


        //	var result = base.SizeThatFits(size);
        //	return result;
        //}



        void UpdateImage2()
        {
            var img2 = ElementEx.Image2;

            if (img2 != null)
            {
                var drawable1 = UIImageFunc.ImageSourceEx2UIImage(img2, isDrawableSimple: true);
                var drawable2 = ElementEx.Image2Down != null?
                                UIImageFunc.ImageSourceEx2UIImage(ElementEx.Image2Down, isDrawableSimple : true) :
                                    UIImageFunc.ImageSourceEx2UIImage(ElementEx.Image2, isDrawableSimple: true, isdown: true);


                var states = new StateListDrawable();
                states.AddState(new int[] { Android.Resource.Attribute.StatePressed }, drawable2);
                states.AddState(new int[] { }, drawable1);
                Control.Background = states;

                ((IVisualElementController)Element).NativeSizeChanged();
            }
        }