Upravit text v Xamarin.Androidu
V této části použijete widget EditText k vytvoření textového pole pro uživatelský vstup. Po zadání textu do pole zobrazí klávesa Enter text ve zprávě informační zprávy.
Otevřete Resources/layout/activity_main.axml a přidejte element EditText do obsahujícího rozložení. Následující příklad activity_main.axml má přidanou EditText
do:LinearLayout
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<EditText
android:id="@+id/edittext"
android:layout_width="match_parent"
android:imeOptions="actionGo"
android:inputType="text"
android:layout_height="wrap_content" />
</LinearLayout>
V tomto příkladu EditText
kódu je atribut android:imeOptions
nastaven na actionGo
. Toto nastavení změní výchozí akci Hotovo na akci Go tak, aby klepnutí na klávesu Enter aktivovalo vstupní obslužnou rutinu KeyPress
.
(Obvykle se používá, actionGo
aby klávesa Enter převezla uživatele do cíle adresy URL, která je zadána.)
Pokud chcete zpracovat textové zadání uživatele, přidejte na konec metody OnCreate v MainActivity.cs následující kód:
EditText edittext = FindViewById<EditText>(Resource.Id.edittext);
edittext.KeyPress += (object sender, View.KeyEventArgs e) => {
e.Handled = false;
if (e.Event.Action == KeyEventActions.Down && e.KeyCode == Keycode.Enter)
{
Toast.MakeText(this, edittext.Text, ToastLength.Short).Show();
e.Handled = true;
}
};
Kromě toho na začátek MainActivity.cs přidejte následující using
příkaz, pokud ještě není k dispozici:
using Android.Views;
Tento příklad kódu nafoukne element EditText z rozložení a přidá obslužnou rutinu KeyPress , která definuje akci, která se má provést při stisknutí klávesy, zatímco widget má fokus. V tomto případě je metoda definovaná tak, aby naslouchala klávesě Enter (když jste klepli) a pak se otevře zpráva informační zprávy s textem, který byl zadán. Všimněte si, že vlastnost Handled by měla být true
vždy, pokud byla událost zpracována. To je nezbytné k tomu, aby událost nefoukala nahoru (což by vedlo k návratu na začátek řádku v textovém poli).
Spusťte aplikaci a do textového pole zadejte nějaký text. Když stisknete klávesu Enter , informační zpráva se zobrazí, jak je znázorněno na pravé straně:
Části této stránky jsou úpravy založené na práci vytvořené a sdílené opensourcový projekt Androidu a používají se podle termínů popsaných v licenci Creative Commons 2.5 Atribution License . Tento kurz je založen na Android Form Stuff kurz .