private void ChangeCursorColorToDefault()
        {
            IntPtr intPtrtextViewClass        = JNIEnv.FindClass(typeof(TextView));
            IntPtr mCursorDrawableResProperty = JNIEnv.GetFieldID(intPtrtextViewClass, "mCursorDrawableRes", "I");

            JNIEnv.SetField(Control.Handle, mCursorDrawableResProperty, 0); // replace 0 with a Resource.Drawable.my_cursor
        }
Exemplo n.º 2
0
        private void InitViewPagerScroller()
        {
            try
            {
                IntPtr ViewPagerClass        = JNIEnv.FindClass("android/support/v4/view/ViewPager");
                IntPtr mScrollerProperty     = JNIEnv.GetFieldID(ViewPagerClass, "mScroller", "Landroid/widget/Scroller;");
                IntPtr sInterpolatorProperty = JNIEnv.GetFieldID(ViewPagerClass, "sInterpolator", "Landroid/widget/Scroller;");


                mScroller = new ScrollerCustomDuration(Context);

                JNIEnv.SetField(this.Handle, mScrollerProperty, mScroller.Handle);
            }
            catch (Exception ex)
            {
                mScroller = new ScrollerCustomDuration(Context);
            }
            //            try
            //            {
            //                Field scroller = ViewPager.class.getDeclaredField("mScroller");
            //        scroller.setAccessible(true);
            //            Field interpolator = ViewPager.class.getDeclaredField("sInterpolator");
            //        interpolator.setAccessible(true);
            //
            //            mScroller = new ScrollerCustomDuration(getContext(),
            //                    (Interpolator) interpolator.get(null));
            //            scroller.set(this, mScroller);
            //        } catch (Exception e) {
            //            e.printStackTrace();
            //        }
        }
Exemplo n.º 3
0
        protected override void OnElementChanged(ElementChangedEventArgs <SearchBar> e)
        {
            base.OnElementChanged(e);

            if (Control != null)
            {
                //去掉下划线
                var plateId = Resources.GetIdentifier("android:id/search_plate", null, null);
                var plate   = Control.FindViewById(plateId);
                plate.SetBackgroundColor(Android.Graphics.Color.Transparent);

                //修改光标颜色
                var    textViewId                 = Resources.GetIdentifier("android:id/search_src_text", null, null);
                var    textView                   = Control.FindViewById(textViewId);
                IntPtr IntPtrtextViewClass        = JNIEnv.FindClass(typeof(TextView));
                IntPtr mCursorDrawableResProperty = JNIEnv.GetFieldID(IntPtrtextViewClass, "mCursorDrawableRes", "I");
                JNIEnv.SetField(textView.Handle, mCursorDrawableResProperty, Resource.Drawable.color_cursor);

                //改变搜索图标
                //var searchView = (Control as SearchView);
                //var searchIconId = searchView.Resources.GetIdentifier("android:id/search_mag_icon", null, null);
                //if (searchIconId > 0)
                //{
                //    var searchPlateIcon = searchView.FindViewById(searchIconId);
                //    (searchPlateIcon as ImageView).SetColorFilter(color.ToAndroid(), PorterDuff.Mode.SrcIn);
                //}
            }
        }
        private void Initialize(Context context)
        {
            if (!_initialized)
            {
                m_TouchSlop = ViewConfiguration.Get(this.Context).ScaledTouchSlop;

                m_DataSetObserver = new StickyListHeadersListViewObserver(this);
                m_AdapterHeaderAdapterClickListener = new AdapterHeaderAdapterClickListener(OnHeaderListClickListener, this);

                base.SetOnScrollListener(this);
                //null out divider, dividers are handled by adapter so they look good with headers
                base.Divider       = null;
                base.DividerHeight = 0;

                m_ViewConfiguration = ViewConfiguration.Get(context);
                m_ClippingToPadding = true;

                try
                {
                    //reflection to get selector ref
                    var absListViewClass  = JNIEnv.FindClass(typeof(AbsListView));
                    var selectorRectId    = JNIEnv.GetFieldID(absListViewClass, "mSelectorRect", "()Landroid/graphics/Rect");
                    var selectorRectField = JNIEnv.GetObjectField(absListViewClass, selectorRectId);
                    m_SelectorRect = Java.Lang.Object.GetObject <Rect>(selectorRectField, JniHandleOwnership.TransferLocalRef);

                    var selectorPositionId = JNIEnv.GetFieldID(absListViewClass, "mSelectorPosition", "()Ljava/lang/Integer");
                    m_SelectorPositionField = JNIEnv.GetObjectField(absListViewClass, selectorPositionId);
                }
                catch (Exception)
                {
                }
                _initialized = true;
            }
        }
Exemplo n.º 5
0
        private void SetCursorColor()
        {
            var intPtrtextViewClass        = JNIEnv.FindClass(typeof(TextView));
            var mCursorDrawableResProperty = JNIEnv.GetFieldID(intPtrtextViewClass, "mCursorDrawableRes", "I");

            JNIEnv.SetField(Control.Handle, mCursorDrawableResProperty, Resource.Drawable.cursor);
        }
        protected override void OnElementChanged(ElementChangedEventArgs <Editor> e)
        {
            base.OnElementChanged(e);

            //Configure native control (TextBox)
            if (Control != null)
            {
                Control.Background = null;
            }

            // Configure Entry properties
            if (e.NewElement != null)
            {
            }

            if (Build.VERSION.SdkInt >= BuildVersionCodes.Q)
            {
                Control.SetTextCursorDrawable(0); //This API Intrduced in android 10
            }
            else
            {
                IntPtr IntPtrtextViewClass        = JNIEnv.FindClass(typeof(TextView));
                IntPtr mCursorDrawableResProperty = JNIEnv.GetFieldID(IntPtrtextViewClass, "mCursorDrawableRes", "I");
                JNIEnv.SetField(Control.Handle, mCursorDrawableResProperty, 0);
            }
        }
Exemplo n.º 7
0
        private void TrySetCursorPointerColor()
        {
            try
            {
                var textViewTemplate = new TextView(Control.EditText.Context);

                Field field = textViewTemplate.Class.GetDeclaredField("mEditor");
                field.Accessible = true;

                Object?editor = field.Get(Control.EditText);
                if (editor == null)
                {
                    return;
                }

                string[] fieldsNames   = { "mTextSelectHandleLeftRes", "mTextSelectHandleRightRes", "mTextSelectHandleRes" };
                string[] drawableNames = { "mSelectHandleLeft", "mSelectHandleRight", "mSelectHandleCenter" };

                for (int index = 0; index < fieldsNames.Length && index < drawableNames.Length; index++)
                {
                    string fieldName    = fieldsNames[index];
                    string drawableName = drawableNames[index];

                    field            = textViewTemplate.Class.GetDeclaredField(fieldName);
                    field.Accessible = true;
                    int handle = field.GetInt(Control.EditText);

                    Drawable?handleDrawable = Resources?.GetDrawable(handle, null);

                    if (handleDrawable == null)
                    {
                        return;
                    }

                    if (Build.VERSION.SdkInt >= BuildVersionCodes.Q)
                    {
                        handleDrawable.SetColorFilter(new BlendModeColorFilter(Color.Accent.ToAndroid(), BlendMode.SrcIn !));
                    }
                    else
                    {
#pragma warning disable CS0618 // Type or member is obsolete
                        handleDrawable.SetColorFilter(Color.Accent.ToAndroid(), PorterDuff.Mode.SrcIn !);
#pragma warning restore CS0618 // Type or member is obsolete
                    }

                    field            = editor.Class.GetDeclaredField(drawableName);
                    field.Accessible = true;
                    field.Set(editor, handleDrawable);
                }

                IntPtr intPtrtextViewClass        = JNIEnv.FindClass(typeof(TextView));
                IntPtr mCursorDrawableResProperty = JNIEnv.GetFieldID(intPtrtextViewClass, "mCursorDrawableRes", "I");

                JNIEnv.SetField(Control.EditText.Handle, mCursorDrawableResProperty, Resource.Drawable.CustomCursor);
            }
            catch (Exception ex)
            {
                logger.Error(ex, "Error setting the cursor color for CustomEntry.");
            }
        }
        public static void RemoveCustomCursorColor(this EditText view)
        {
            IntPtr viewClass      = JNIEnv.FindClass(typeof(TextView));
            IntPtr cursorProperty = JNIEnv.GetFieldID(viewClass, "mCursorDrawableRes", "I");

            JNIEnv.SetField(view.Handle, cursorProperty, 0);
        }
        protected override void OnElementChanged(ElementChangedEventArgs <Entry> e)
        {
            base.OnElementChanged(e);

            IntPtr IntPtrtextViewClass        = JNIEnv.FindClass(typeof(TextView));
            IntPtr mCursorDrawableResProperty = JNIEnv.GetFieldID(IntPtrtextViewClass, "mCursorDrawableRes", "I");

            JNIEnv.SetField(Control.Handle, mCursorDrawableResProperty, Resource.Drawable.my_cursor);
        }
Exemplo n.º 10
0
 public void SetField_PermitNullValues()
 {
     using (var resource = new Intent.ShortcutIconResource()) {
         var f = JNIEnv.GetFieldID(resource.Class.Handle, "packageName", "Ljava/lang/String;");
         Console.WriteLine("# f=0x{0}", f.ToString("x"));
         resource.PackageName = null;
         Assert.AreEqual(null, resource.PackageName);
     }
 }
        protected override void OnAttached()
        {
            IntPtr IntPtrtextViewClass        = JNIEnv.FindClass(typeof(TextView));
            IntPtr mCursorDrawableResProperty = JNIEnv.GetFieldID(IntPtrtextViewClass, "mCursorDrawableRes", "I");

            JNIEnv.SetField(Control.Handle, mCursorDrawableResProperty, ColorResourceId);

            Control.Background.Mutate().SetColorFilter(LineColor.ToAndroid(), Graphics.PorterDuff.Mode.SrcAtop);
        }
        void PostInit()
        {
            IntPtr ViewPagerClass    = JNIEnv.FindClass("android/support/v4/view/ViewPager");
            IntPtr mScrollerProperty = JNIEnv.GetFieldID(ViewPagerClass, "mScroller", "Landroid/widget/Scroller;");

            _scroller = new TikiPagerScoller(Context);

            JNIEnv.SetField(Handle, mScrollerProperty, _scroller.Handle);
        }
Exemplo n.º 13
0
        public override void OnBindViewHolder(RecyclerView.ViewHolder holder, int position)
        {
            if (id_isResetRequired == IntPtr.Zero)
            {
                id_isResetRequired = JNIEnv.GetMethodID(class_ref, "isResetRequired", "()B");
            }
            Console.WriteLine("id_isResetRequired : {0}", id_isResetRequired);
            if (JNIEnv.CallBooleanMethod(class_ref, id_isResetRequired))
            {
                if (id_layoutManager == IntPtr.Zero)
                {
                    id_layoutManager = JNIEnv.GetFieldID(class_ref, "layoutManager", "L");
                }
                Console.WriteLine("id_layoutManager : {0}", id_layoutManager);
                if (id_getCurrentPosition == IntPtr.Zero)
                {
                    id_getCurrentPosition = JNIEnv.GetFieldID(id_layoutManager, "getCurrentPosition", "()I");
                }
                Console.WriteLine("id_getCurrentPosition : {0}", id_getCurrentPosition);
                if (id_mapPositionToReal == IntPtr.Zero)
                {
                    id_mapPositionToReal = JNIEnv.GetFieldID(class_ref, "mapPositionToReal", "()I");
                }
                Console.WriteLine("id_mapPositionToReal : {0}", id_mapPositionToReal);
                var currentposition = JNIEnv.CallIntMethod(id_layoutManager, id_getCurrentPosition);
                Console.WriteLine("currentposition : {0}", currentposition);
                int resetPosition = CENTER + JNIEnv.CallIntMethod(class_ref, id_mapPositionToReal, new JValue(currentposition));
                Console.WriteLine("resetPosition : {0}", resetPosition);
                if (id_setPosition == IntPtr.Zero)
                {
                    id_setPosition = JNIEnv.GetFieldID(class_ref, "setPosition", "(I)V");
                }
                Console.WriteLine("id_setPosition : {0}", id_setPosition);
                JNIEnv.CallVoidMethod(class_ref, id_setPosition, new JValue(id_setPosition));
                return;
            }
            if (id_wrapped == IntPtr.Zero)
            {
                id_wrapped = JNIEnv.GetFieldID(class_ref, "wrapped", "L");
            }
            Console.WriteLine("id_wrapped : {0}", id_wrapped);
            if (id_onBindViewHolder == IntPtr.Zero)
            {
                id_onBindViewHolder = JNIEnv.GetFieldID(id_wrapped, "onBindViewHolder", "(L/I)V");
            }
            Console.WriteLine("id_onBindViewHolder : {0}", id_onBindViewHolder);
            if (id_mapPositionToReal == IntPtr.Zero)
            {
                id_mapPositionToReal = JNIEnv.GetFieldID(class_ref, "mapPositionToReal", "()I");
            }
            Console.WriteLine("id_mapPositionToReal : {0}", id_mapPositionToReal);
            var pos = JNIEnv.CallIntMethod(class_ref, id_mapPositionToReal, new JValue(position));

            Console.WriteLine("pos : {0}", pos);
            JNIEnv.CallVoidMethod(id_wrapped, id_onBindViewHolder, new JValue(pos));
        }
Exemplo n.º 14
0
        //
        public long this[string fname]
        {
            set
            {
                var fields_GetType = env.GetObjectClass(env, fields);
                var fref           = env.GetFieldID(env, fields_GetType, fname, "J");

                env.SetLongField(env, fields, fref, value);
            }
        }
Exemplo n.º 15
0
            //
            public float this[string fname]
            {
                set
                {
                    var fields_GetType = env.GetObjectClass(env, fields);
                    var fref           = env.GetFieldID(env, fields_GetType, fname, "F");

                    env.SetFloatField(env, fields, fref, value);
                }
            }
        protected override void OnElementChanged(ElementChangedEventArgs <Editor> e)
        {
            base.OnElementChanged(e);
            this.Control.Background = null;
            IntPtr intPtrTextViewClass        = JNIEnv.FindClass(typeof(TextView));
            IntPtr mCursorDrawableResProperty = JNIEnv.GetFieldID(intPtrTextViewClass, "mCursorDrawableRes", "I");

            JNIEnv.SetField(Control.Handle, mCursorDrawableResProperty, Resource.Drawable.color_cursor);
            this.Control.Background = Context.GetDrawable(Resource.Drawable.editor_bg);
            this.Control.Gravity    = Android.Views.GravityFlags.CenterVertical;
            this.Control.SetCompoundDrawablesWithIntrinsicBounds(null, null, Context.GetDrawable(Resource.Drawable.abc_ic_arrow_drop_right_black_24dp), null);
        }
Exemplo n.º 17
0
 private void SetCursor(Drawable drawable)
 {
     try
     {
         IntPtr IntPtrtextViewClass        = JNIEnv.FindClass(typeof(TextView));
         IntPtr mCursorDrawableResProperty = JNIEnv.GetFieldID(IntPtrtextViewClass, "mCursorDrawableRes", "I");
         JNIEnv.SetField(messageInput.Handle, mCursorDrawableResProperty, Resources.GetIdentifier(nameof(drawable), null, null)); // replace 0 with a Resource.Drawable.my_cursor
     }
     catch (Java.Lang.Exception)
     {
     }
 }
Exemplo n.º 18
0
        protected override void OnElementChanged(ElementChangedEventArgs <Entry> e)
        {
            base.OnElementChanged(e);

            if (Control != null)
            {
                Control.SetBackgroundColor(global::Android.Graphics.Color.Transparent);
                IntPtr IntPtrtextViewClass        = JNIEnv.FindClass(typeof(TextView));
                IntPtr mCursorDrawableResProperty = JNIEnv.GetFieldID(IntPtrtextViewClass, "mCursorDrawableRes", "I");
                JNIEnv.SetField(Control.Handle, mCursorDrawableResProperty, 0);
            }
        }
        protected override void OnElementChanged(ElementChangedEventArgs <Entry> e)
        {
            base.OnElementChanged(e);

            if (Control != null)
            {
                Control.Background.SetColorFilter(((Entry)Element).BackgroundColor.ToAndroid(), PorterDuff.Mode.SrcAtop);
                IntPtr IntPtrtextViewClass        = JNIEnv.FindClass(typeof(TextView));
                IntPtr mCursorDrawableResProperty = JNIEnv.GetFieldID(IntPtrtextViewClass, "mCursorDrawableRes", "I");
                JNIEnv.SetField(Control.Handle, mCursorDrawableResProperty, 0); // replace 0 with a Resource.Drawable.my_cursor
            }
        }
Exemplo n.º 20
0
            //
            public int this[string fname]
            {
                get
                {
                    var fields_GetType = env.GetObjectClass(env, fields);
                    var fref           = env.GetFieldID(env, fields_GetType, fname, "I");

                    var value = env.GetIntField(env, fields, fref);

                    return(value);
                }
            }
Exemplo n.º 21
0
 protected override void OnElementChanged(ElementChangedEventArgs <Editor> e)
 {
     base.OnElementChanged(e);
     if (Control != null)
     {
         Control?.SetBackgroundColor(Android.Graphics.Color.Transparent);
         IntPtr IntPtrtextViewClass        = JNIEnv.FindClass(typeof(TextView));
         IntPtr mCursorDrawableResProperty = JNIEnv.GetFieldID(IntPtrtextViewClass, "mCursorDrawableRes", "I");
         // cursor_shape is the xml file name which we defined above
         JNIEnv.SetField(Control.Handle, mCursorDrawableResProperty, Resource.Drawable.cursor_shape);
     }
 }
 protected override void OnElementChanged(ElementChangedEventArgs <Entry> e)
 {
     base.OnElementChanged(e);
     if (e.NewElement != null)
     {
         this.Control.Background = null;
         IntPtr intPtrTextViewClass        = JNIEnv.FindClass(typeof(TextView));
         IntPtr mCursorDrawableResProperty = JNIEnv.GetFieldID(intPtrTextViewClass, "mCursorDrawableRes", "I");
         JNIEnv.SetField(Control.Handle, mCursorDrawableResProperty, Resource.Drawable.color_cursor);
         this.Control.Background = Context.GetDrawable(Resource.Drawable.editor_bg);
         this.Control.Gravity    = Android.Views.GravityFlags.CenterVertical;
     }
 }
Exemplo n.º 23
0
        //
        public float this[string fname]
        {
            get
            {
                // X:\jsc.svn\examples\javascript\chrome\apps\ChromeFlashlightTracker\ChromeFlashlightTracker\Application.cs

                var fields_GetType = env.GetObjectClass(env, fields);
                var fref           = env.GetFieldID(env, fields_GetType, fname, "F");

                var value = env.GetFloatField(env, fields, fref);

                return(value);
            }

            set
            {
                var fields_GetType = env.GetObjectClass(env, fields);
                var fref           = env.GetFieldID(env, fields_GetType, fname, "F");

                env.SetFloatField(env, fields, fref, value);
            }
        }
Exemplo n.º 24
0
        protected override void OnElementChanged(ElementChangedEventArgs <Entry> e)
        {
            base.OnElementChanged(e);

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

            if (e.NewElement is CustomMaterialEntry customEntry)
            {
                EditText.SetHighlightColor(color: customEntry.MyHighlightColor.ToAndroid());

                try
                {
                    JNIEnv.SetField(EditText.Handle, JNIEnv.GetFieldID(JNIEnv.FindClass(typeof(TextView)), "mCursorDrawableRes", "I"), 0);
                    using (var textViewTemplate = new TextView(EditText.Context))
                    {
                        var field = textViewTemplate.Class.GetDeclaredField("mEditor");
                        field.Accessible = true;
                        var editor = field.Get(EditText);

                        string[]
                        fieldsNames = { "mTextSelectHandleLeftRes", "mTextSelectHandleRightRes", "mTextSelectHandleRes" },
                        drawablesNames = { "mSelectHandleLeft", "mSelectHandleRight", "mSelectHandleCenter" };

                        for (int index = 0; index < fieldsNames.Length && index < drawablesNames.Length; index++)
                        {
                            field            = textViewTemplate.Class.GetDeclaredField(fieldsNames[index]);
                            field.Accessible = true;
                            Drawable handleDrawable = ContextCompat.GetDrawable(Context, field.GetInt(EditText));

                            handleDrawable.SetColorFilter(new PorterDuffColorFilter(customEntry.MyHighlightColor.ToAndroid(), PorterDuff.Mode.SrcIn));

                            field            = editor.Class.GetDeclaredField(drawablesNames[index]);
                            field.Accessible = true;
                            field.Set(editor, handleDrawable);
                        }
                    }
                }
                catch (NoSuchFieldError)
                {
                }
                catch (NoSuchFieldException)
                {
                }
                catch (ReflectiveOperationException)
                {
                }
            }
        }
Exemplo n.º 25
0
            static ButtonData()
            {
                try
                {
                    {
                        string strName = "tv/ouya/console/api/OuyaController$ButtonData";
                        _jcButtonData = JNIEnv.FindClass(strName);
                        if (_jcButtonData != IntPtr.Zero)
                        {
                            Log.Info(LOG_TAG, string.Format("Found {0} class", strName));
                        }
                        else
                        {
                            Log.Error(LOG_TAG, string.Format("Failed to find {0} class", strName));
                            return;
                        }
                    }

                    {
                        string strField = "buttonDrawable";
                        _jfButtonDrawable = JNIEnv.GetFieldID(_jcButtonData, strField, "Landroid/graphics/drawable/Drawable;");
                        if (_jfButtonDrawable != IntPtr.Zero)
                        {
                            Log.Info(LOG_TAG, string.Format("Found {0} field", strField));
                        }
                        else
                        {
                            Log.Error(LOG_TAG, string.Format("Failed to find {0} field", strField));
                            return;
                        }
                    }

                    {
                        string strField = "buttonName";
                        _jfButtonName = JNIEnv.GetFieldID(_jcButtonData, strField, "Ljava/lang/String;");
                        if (_jfButtonName != IntPtr.Zero)
                        {
                            Log.Info(LOG_TAG, string.Format("Found {0} field", strField));
                        }
                        else
                        {
                            Log.Error(LOG_TAG, string.Format("Failed to find {0} field", strField));
                            return;
                        }
                    }
                }
                catch (System.Exception ex)
                {
                    Log.Error(LOG_TAG, string.Format("Exception loading JNI - {0}", ex));
                }
            }
Exemplo n.º 26
0
        private void TrySetCursorPointerColor()
        {
            try
            {
                IntPtr IntPtrtextViewClass        = JNIEnv.FindClass(typeof(TextView));
                IntPtr mCursorDrawableResProperty = JNIEnv.GetFieldID(IntPtrtextViewClass, "mCursorDrawableRes", "I");

                // my_cursor is the xml file name which we defined above
                JNIEnv.SetField(Control.Handle, mCursorDrawableResProperty, Resource.Drawable.CustomCursor);

                var textViewTemplate = new TextView(Control.EditText.Context);

                Field field = textViewTemplate.Class.GetDeclaredField("mEditor");
                field.Accessible = true;
                Object editor = field.Get(Control.EditText);

                string[] fieldsNames   = { "mTextSelectHandleLeftRes", "mTextSelectHandleRightRes", "mTextSelectHandleRes" };
                string[] drawableNames = { "mSelectHandleLeft", "mSelectHandleRight", "mSelectHandleCenter" };

                for (var index = 0; index < fieldsNames.Length && index < drawableNames.Length; index++)
                {
                    string
                        fieldName    = fieldsNames[index],
                        drawableName = drawableNames[index];

                    field            = textViewTemplate.Class.GetDeclaredField(fieldName);
                    field.Accessible = true;
                    int handle = field.GetInt(Control.EditText);

                    Drawable handleDrawable = Resources.GetDrawable(handle, null);

                    if (Build.VERSION.SdkInt >= BuildVersionCodes.Q)
                    {
                        handleDrawable.SetColorFilter(new BlendModeColorFilter(Color.Accent.ToAndroid(), BlendMode.SrcAtop));
                    }
                    else
                    {
                        handleDrawable.SetColorFilter(Color.Accent.ToAndroid(), PorterDuff.Mode.SrcIn);
                    }


                    field            = editor.Class.GetDeclaredField(drawableName);
                    field.Accessible = true;
                    field.Set(editor, handleDrawable);
                }
            }
            catch (Exception ex)
            {
                LogManager.GetCurrentClassLogger().Error(ex);
            }
        }
Exemplo n.º 27
0
        protected override void OnElementChanged(ElementChangedEventArgs <Entry> e)
        {
            base.OnElementChanged(e);

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

            customEntry = this.Element as CustomEntry;

            FormsEditText editText = this.Control;

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

                case ImageAlignment.Right:
                    editText.SetCompoundDrawablesWithIntrinsicBounds(null, null, GetDrawable(customEntry.Image), null); break;
                }
            }
            editText.CompoundDrawablePadding = 25;

            GradientDrawable gradientDrawable = new GradientDrawable();

            //Zaokraglenie
            gradientDrawable.SetCornerRadius(Context.ToPixels(customEntry.CornerRadius));
            //Obramowka
            gradientDrawable.SetStroke((int)Context.ToPixels(customEntry.BorderThickness), customEntry.BorderColor.ToAndroid());
            //Tlo elementu
            gradientDrawable.SetColor(customEntry.BackgroundColor.ToAndroid());

            Control.SetBackground(gradientDrawable);

            int paddingLeft   = (int)Context.ToPixels(customEntry.Padding.Left);
            int paddingTop    = (int)Context.ToPixels(customEntry.Padding.Top);
            int paddingRight  = (int)Context.ToPixels(customEntry.Padding.Right);
            int paddingBottom = (int)Context.ToPixels(customEntry.Padding.Bottom);

            Control.SetPadding(paddingLeft, paddingTop, paddingRight, paddingBottom);


            IntPtr IntPtrtextViewClass = JNIEnv.FindClass(typeof(TextView));

            IntPtr mCursorDrawableResProperty = JNIEnv.GetFieldID(IntPtrtextViewClass, "mCursorDrawableRes", "I");

            JNIEnv.SetField(Control.Handle, mCursorDrawableResProperty, Resource.Drawable.cursor);
        }
Exemplo n.º 28
0
 private void SetCursor()
 {
     try
     {
         //https://forums.xamarin.com/discussion/42823/change-entry-cursor
         IntPtr intPtrtextViewClass        = JNIEnv.FindClass(typeof(Android.Widget.TextView));
         IntPtr mCursorDrawableResProperty = JNIEnv.GetFieldID(intPtrtextViewClass, "mCursorDrawableRes", "I");
         JNIEnv.SetField(_view.Handle, mCursorDrawableResProperty, Resource.Drawable.cursor);
     }
     catch (Exception e)
     {
         CurrentContext.HandleException(new NonFatalException(D.ERROR, "SerCursor error", e));
     }
 }
Exemplo n.º 29
0
        private static void SetCursorColor(EditText editText)
        {
            try
            {
                IntPtr intPtrTextViewClass        = JNIEnv.FindClass(typeof(TextView));
                IntPtr mCursorDrawableResProperty = JNIEnv.GetFieldID(intPtrTextViewClass, "mCursorDrawableRes", "I");

                JNIEnv.SetField(editText.Handle, mCursorDrawableResProperty, Resource.Drawable.CustomCursor);
            }
            catch (Exception ex)
            {
                LogManager.GetCurrentClassLogger().Error(ex);
            }
        }
Exemplo n.º 30
0
 protected override void OnElementChanged(ElementChangedEventArgs <Entry> e)
 {
     base.OnElementChanged(e);
     if (e.NewElement != null)
     {
         var view = (EntryRepeatingWord)Element;
         CreateBorder(view);
         // my_cursor is the xml file name which we defined above
         IntPtr IntPtrtextViewClass        = JNIEnv.FindClass(typeof(TextView));
         IntPtr mCursorDrawableResProperty = JNIEnv.GetFieldID(IntPtrtextViewClass, "mCursorDrawableRes", "I");
         JNIEnv.SetField(Control.Handle, mCursorDrawableResProperty, Resource.Drawable.entry_cursor);
         view.Focus();
     }
 }