fc2ブログ

記事一覧

Entry コントロール(テキストボックス)の Keyboard プロパティ設定について | Xamarin.Forms


今回は Xamarin.Forms において Entry コントロール(テキストボックス)の KeyBoard プロパティについて調べた結果を覚え書きしたいと思います。
KeyBoard プロパティは入力項目でスマホのシステムキーボードを指定した型で表示することができる便利な機能ですが、iOS と Android で少し挙動が異なりましたので、全ての値について検証してみました。



前提条件
・Windows10 Pro 64Bit 1803
・Visual Studio 2017 Community
・Xamarin 4.11.0.776 (NuGet Xamarin.Forms 2.4.0.282)
・macOS Mojave 10.14 / Xcode 10.1 / Xamarin.iOS 12.0.0.10



1.定義

Entry コントロールの基底クラスである InputView に Keyboard プロパティが実装されています。その Keyboard プロパティを確認すると以下の様に8つの値が定義されています。
Email / Numeric / Telephone / Url は何となく予想が付きますが、挙動には注意が必要ですし、他の値の Keyboard が今一つ不明ですね。

Keyboard.cs
namespace Xamarin.Forms
{
public class Keyboard
{
public static Keyboard Plain { get; }
public static Keyboard Chat { get; }
public static Keyboard Default { get; }
public static Keyboard Email { get; }
public static Keyboard Numeric { get; }
public static Keyboard Telephone { get; }
public static Keyboard Text { get; }
public static Keyboard Url { get; }
public static Keyboard Create(KeyboardFlags flags);
}
}



2.検証コード

以下のコードの通り実装して Android と iOS で挙動を見ていきます。

<Entry x:Name="txtPlain"     Text="" Placeholder="Plain"     Keyboard="Plain"/>
<Entry x:Name="txtChat" Text="" Placeholder="Chat" Keyboard="Chat"/>
<Entry x:Name="txtDefault" Text="" Placeholder="Default" Keyboard="Default"/>
<Entry x:Name="txtEmail" Text="" Placeholder="Email" Keyboard="Email"/>
<Entry x:Name="txtNumeric" Text="" Placeholder="Numeric" Keyboard="Numeric"/>
<Entry x:Name="txtTelephone" Text="" Placeholder="Telephone" Keyboard="Telephone"/>
<Entry x:Name="txtText" Text="" Placeholder="Text" Keyboard="Text"/>
<Entry x:Name="txtUrl" Text="" Placeholder="Url" Keyboard="Url"/>



3.Plain

基本的にはデフォルトのキーボードが表示されますが、英語の場合は小文字の入力モードです。iOS では入力候補が表示されません。

iOS JP
xamarin_keyboard_01_plain_ios.png
iOS EN
xamarin_keyboard_01_plain_ios_en.png
Andorid JP
xamarin_keyboard_01_plain_android.png
Andorid EN
xamarin_keyboard_01_plain_android_en.png



4.Chat

基本的にはデフォルトのキーボードが表示されますが、英語の場合は大文字の入力モードです。iOS では入力候補が表示されます。

iOS JP
xamarin_keyboard_02_chat_ios.png
iOS EN
xamarin_keyboard_02_chat_ios_en.png
Andorid JP
xamarin_keyboard_02_chat_android.png
Andorid EN
xamarin_keyboard_02_chat_android_en.png



5.Default

基本的には設定されている言語に基づくデフォルトのキーボードが表示されます。iOS では入力候補が表示されます。

iOS JP
xamarin_keyboard_03_default_ios.png
iOS EN
xamarin_keyboard_03_default_ios_en.png
Andorid JP
xamarin_keyboard_03_default_android.png
Andorid EN
xamarin_keyboard_03_default_android_en.png



6.Email

iOSではデフォルトのキーボードが表示されますが、Androidでは英語キーボードが表示されます。アットマークが入力しやすくなっているのが特徴です。

iOS JP
xamarin_keyboard_04_email_ios.png
iOS EN
xamarin_keyboard_04_email_ios_en.png
Andorid JP
xamarin_keyboard_04_email_android.png
Andorid EN
xamarin_keyboard_04_email_android_en.png



7.Numeric

基本的には数字のみのキーボードが表示されますが、Android では数値型の文字列のみ入力可能で、IP などの様に複数のカンマをもつ文字列を入力することはできません。

iOS JP
xamarin_keyboard_05_numeric_ios.png
iOS EN
xamarin_keyboard_05_numeric_ios_en.png
Andorid JP
xamarin_keyboard_05_numeric_android.png
Andorid EN
xamarin_keyboard_05_numeric_android_en.png




8.Telephone

基本的には数字のみのキーボードが表示されますが、ハイフンなどの記号が入力しやすくなっています。グローバルな電話番号形式に対応する為か、入力書式のチェック等は行われていないと思います。

iOS JP
xamarin_keyboard_06_telephone_ios.png
iOS EN
xamarin_keyboard_06_telephone_ios_en.png
Andorid JP
xamarin_keyboard_06_telephone_android.png
Andorid EN
xamarin_keyboard_06_telephone_android_en.png



9.Text

基本的にはデフォルトのキーボードが表示されますが、Chatと同じく、英語キーボードでは先頭大文字で入力できます。iOS では入力候補が表示されます。

iOS JP
xamarin_keyboard_07_text_ios.png
iOS EN
xamarin_keyboard_07_text_ios_en.png
Andorid JP
xamarin_keyboard_07_text_android.png
Andorid EN
xamarin_keyboard_07_text_android_en.png



10.Url

基本的には英語のキーボードが表示されますが、スラッシュなどの記号が入力しやすいようになっています。

iOS JP
xamarin_keyboard_08_url_ios.png
iOS EN
xamarin_keyboard_08_url_ios_en.png
Andorid JP
xamarin_keyboard_08_url_android.png
Andorid EN
xamarin_keyboard_08_url_android_en.png










最後までお読みいただきありがとうございます。
当ブログの内容をまとめた Xamarin逆引きメニュー は以下のURLからご覧になれます。
https://itblog.dynaspo.com/blog-entry-81.html



関連記事

コメント

コメントの投稿

※名前とタイトルが入力されていないコメントでは他のコメントとの区別ができません。

 入力されていないコメントには返信しませんのであらかじめご了承くださいませ。

※ニックネームでも良いので必ずご入力ください。

    

※必ずご入力ください。

    
    

※必ずご入力ください。

※技術的な質問には環境やエラーについて正確かつ詳細にお教えください。

・正確なエラーの内容

・Windowsのバージョン番号

・Visual Studioのバージョン

・機器の型番

・アプリやソフトのバージョン

    

カテゴリ別記事一覧

広告

プロフィール

石河 純


著者名 :石河 純
自己紹介:素人上がりのIT技術者。趣味は卓球・車・ボウリング

IT関連の知識はざっくりとこんな感じです。
【OS関連】
WindowsServer: 2012/2008R2/2003/2000/NT4
Windows: 10/8/7/XP/2000/me/NT4/98
Linux: CentOS RedHatLinux9
Mac: macOS Catalina 10.15 / Mojave 10.14 / High Sierra 10.13 / Sierra 10.12 / OSX Lion 10.7.5 / OSX Snow Leopard 10.6.8
【言語】
VB.net ASP.NET C#.net Java VBA
Xamarin.Forms
【データベース】
Oracle 10g/9i
SQLServer 2016/2008R2/2005/2000
SQLAnywhere 16/11/8
【BI/レポートツール】
Cognos ReportNet (IBM)
Microsoft PowerBI
ActiveReport (GrapeCity)
CrystalReport
【OCX関連】
GrapeCity InputMan SPREAD MultiRow GridView
【ネットワーク関連】
CCNP シスコ技術者認定
Cisco Catalyst シリーズ
Yamaha RTXシリーズ
FireWall関連
【WEB関連】
SEO SEM CSS jQuery IIS6/7 apache2

休みの日は卓球をやっています。
現在、卓球用品通販ショップは休業中です。