iOSやAndroidでは、文字を入力するときにキーボードが表示されます。

数値用や電話用など、用途によって表示するキーボードを設定することができます。

ただし、iOSでは動作しないことがありますので注意が必要です。

iOSで動作させる方法がわかり次第、本記事を更新します。

キーボードを設定するにはKeyboard プロパティを使用します。

Keyboard プロパティには以下の Keayboad クラスの値を設定します。

Keyboardクラス
プロパティ 説明
Chat テキストと絵文字の入力用です。
Default デフォルトキーボードを表示します。
Email Emailアドレス入力用です。
Plain 一般的なテキスト入力用です。KeyboardFlagsでカスタマイズできます。
Telephone 電話番号入力用です。
Text テキスト入力用です。
Url URLやファイルパス入力用です。

KeyboardFlags
プロパティ 説明
All 文の最初の単語のを大文字にするとともに、スペルチェックを実行し、単語補完候補を行います。
CapitalizeCharacter すべての文字を自動的に大文字にします。
CapitalizeNone いずれの文字も自動的に大文字にならないようにします。
CapitalizeSentence 各文の最初の単語の文字を自動的に大文字します。
CapitalizeWord 各単語の最初の文字を自動的に大文字します。
None いずれの文字も自動的に大文字しません。
Spellcheck ユーザーが入力するテキストのスペルチェックを実行します。
Suggestions ユーザーが入力するテキストに対して単語補完候補をします。

以下にXamlでの例を示します。

MainPage.xaml
  <Entry Keyboard="Telephone" WidthRequest="300" />

次に、コードビハインドでの実装例を以下に示します。

10行目で電話番号用キーボードが表示されるように設定をしています。

MainPage.xaml.cs
namespace entrySample11
{
    public partial class MainPage : ContentPage
    {
        public MainPage()
        {
            InitializeComponent();

            // 電話番号用のキーボードに設定をする
            entry1.Keyboard = Keyboard.Telephone;
        }
    }
}          

実行例を以下に示します。

Androidは電話番号用キーボードが表示されますが、iOSでは表示されていないことがわかります。