如何在xamarin表单中禁用Android键盘的表情符号?

时间:2016-06-13 07:32:03

标签: android xamarin.forms

我正在研究xamarin表格。我正在为Android创建应用程序。我需要从c#中禁用android键盘的emojis。我怎么能用xamarin形式做到这一点?

3 个答案:

答案 0 :(得分:1)

您可以将键盘类型设置为Entry中的文本。

<Entry Keyboard="Text" />

当键盘类型为

时,将显示表情符号
<Entry Keyboard="Chat" />

https://developer.xamarin.com/recipes/cross-platform/xamarin-forms/controls/choose-keyboard-for-entry/

答案 1 :(得分:0)

使用此代码删除键盘中的表情符号。 <Entry Keyboard="Email" />

Keyboard with our Emoji

答案 2 :(得分:0)

创建用于条目的自定义渲染器

在Shared或PCL Project中创建一个类。

public class MyEntry:Entry
{
}

像下面的代码一样在XAML中使用此自定义代码

<custom:MyEntry x:Name="myEntry" HorizontalOptions="FillAndExpand" 
                    VerticalOptions="FillAndExpand"/>

在Android项目中为自定义渲染器创建类


[assembly: ExportRenderer(typeof(MyEntry), typeof(MyEntryRenderer))]
namespace YourNameSpace
{
    public class MyEntryRenderer : EntryRenderer
    {        
        public MyEntryRenderer(Android.Content.Context context) : base(context)
        {
        }

        protected override void OnElementChanged(ElementChangedEventArgs e)
        {
            base.OnElementChanged(e);            
                if (Control != null)
                {
                    Control.ImeOptions = Android.Views.InputMethods.ImeAction.Done;
                    Control.InputType = Android.Text.InputTypes.ClassText | Android.Text.InputTypes.TextVariationVisiblePassword| Android.Text.InputTypes.TextFlagMultiLine;
                    Control.SetTypeface(Typeface.Default, TypefaceStyle.Normal);
                }            
        }

    }
}