将EditText ImeActionLabel设置为自定义文本?

时间:2018-04-20 14:38:00

标签: android xamarin.forms xamarin.android keyboard ime

目前,我希望更改关闭button的{​​{1}}的设计。目前它看起来像是:Basic Android Keyboard。我想删除复选标记并将其替换为OK或Done等文本而不更改整个键盘。

使用Android keyboard,我知道我可以将ImeOptions设置为默认图标,但我没有找到任何默认图标。

使用Android.Views.InputMethods.ImeAction,我可以修改正在显示的SetImeActionLabel("OK", Android.Views.InputMethods.ImeAction.Done),但它只是文字。我需要绿色,text。如果我选择这条路线,我不确定如何编辑此circular background的样式。以下是参考图片:Android Keyboard with OK

我在寻找类似的例子或问题方面遇到了很多麻烦,而且我自己也无法解决这个问题。

1 个答案:

答案 0 :(得分:0)

你可以为它添加形状作为背景

 protected override void OnElementChanged(ElementChangedEventArgs<Xamarin.Forms.Entry> e)
        {
            base.OnElementChanged(e);
            var newCustomEntryElement = e.NewElement as CustomEntry;
            if (Control == null || newCustomEntryElement == null)
            {
                return;
            }
             Control.ImeOptions = ImeAction.Go;
                Control.SetImeActionLabel("Go", ImeAction.Go);



            var shape = new ShapeDrawable(new RectShape());
            shape.Paint.Color = Android.Graphics.Color.Red;
            shape.Paint.StrokeWidth = 0;
            shape.Paint.SetStyle(Paint.Style.Stroke);
            Control.SetBackground(shape);
        }