如何在Xamarin.Forms中更改条目光标颜色

如何在Xamarin.Forms中更改条目光标颜色,xamarin.forms,xamarin.ios,xamarin.android,Xamarin.forms,Xamarin.ios,Xamarin.android,在我的应用程序中,我想更改一个位置的输入光标默认颜色。除此之外,首选默认光标颜色 我可以在条目渲染器中使用Control.TintColor更改ios光标颜色 但是,当我试图使用styles.xml(例如:#ffffff)中的colorAccent项更改android条目光标颜色时,它会更改所有位置的光标颜色,并且无法对其进行任何控制 在ios和android中有没有合适的方法来实现这一点?对于android自定义渲染器: protected override void OnElementCha

在我的应用程序中,我想更改一个位置的输入光标默认颜色。除此之外,首选默认光标颜色

我可以在条目渲染器中使用Control.TintColor更改ios光标颜色

但是,当我试图使用styles.xml(例如:#ffffff)中的colorAccent项更改android条目光标颜色时,它会更改所有位置的光标颜色,并且无法对其进行任何控制


在ios和android中有没有合适的方法来实现这一点?

对于android自定义渲染器:

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);
}

对于Android自定义渲染器:

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);
}

嗨,lakmad0,它解决了你的问题吗?到目前为止,这是有效的,但我认为Xamarin Forms 4.3确实会导致崩溃。这很好,但不适用于BindableProperty;(您可以放置0,而不是
Resource.Drawable.my_cursor
以使光标与TextColor属性相匹配Hi lakmad0,它是否解决了您的问题?到目前为止,这是可行的,但我认为Xamarin Forms 4.3确实会导致崩溃。这很好,但不适用于BindableProperty;(您可以放置0,而不是
Resource.Drawable.my_cursor
,以使光标与TextColor属性匹配