Vlastní tlačítko

V této části vytvoříte tlačítko s vlastním obrázkem místo textu pomocí Button widgetu a souboru XML, který definuje tři různé obrázky, které se mají použít pro různé stavy tlačítek. Po stisknutí tlačítka se zobrazí krátká zpráva.

Klikněte pravým tlačítkem myši a stáhněte si níže uvedené tři obrázky a zkopírujte je do adresáře Zdroje/kreslení projektu . Ty se použijí pro různé stavy tlačítek.

Green Android icon for normal stateOrange Android icon for focused stateYellow Android icon for pressed state

V adresáři Resources/drawable vytvořte nový soubor s názvem android_button.xml. Vložte následující kód XML:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@drawable/android_pressed"
          android:state_pressed="true" />
    <item android:drawable="@drawable/android_focused"
          android:state_focused="true" />
    <item android:drawable="@drawable/android_normal" />
</selector>

Tím se definuje jeden nakreslený prostředek, který změní jeho obrázek na základě aktuálního stavu tlačítka. První <item> definuje android_pressed.png jako obrázek při stisknutí tlačítka (je aktivované); druhý <item> definuje android_focused.png jako obrázek při fokusu (když je tlačítko zvýrazněno pomocí trackballu nebo směrového panelu) a třetí <item> definuje android_normal.png jako obrázek pro normální stav (když není stisknuto ani fokus). Tento soubor XML teď představuje jeden nakreslený prostředek a při odkazování na Button jeho pozadí se zobrazený obrázek změní na základě těchto tří stavů.

Poznámka:

Pořadí <item> prvků je důležité. Když se na tento nakreslený odkaz odkazuje, prochází se s, aby bylo možné určit, <item>který z nich je vhodný pro aktuální stav tlačítka. Vzhledem k tomu, že "normální" obrázek je poslední, použije se pouze v případě, že podmínky android:state_pressed a android:state_focused oba vyhodnotí hodnotu false.

Otevřete soubor Resources/layout/Main.axml a přidejte Button element:

<Button
        android:id="@+id/button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:padding="10dp"
        android:background="@drawable/android_button" />

Atribut android:background určuje nakreslený zdroj, který se má použít pro pozadí tlačítka (který se při uložení na zdroje/ kreslitelné/android.xml odkazuje jako @drawable/android). Tím se nahradí normální obrázek pozadí používaný pro tlačítka v celém systému. Aby bylo možné kreslit a změnit jeho obrázek na základě stavu tlačítka, musí být obrázek použit na pozadí.

Když stisknete tlačítko, přidejte na konec tlačítka následující kód. OnCreate() Metoda:

Button button = FindViewById<Button>(Resource.Id.button);

button.Click += (o, e) => {
    Toast.MakeText (this, "Beep Boop", ToastLength.Short).Show ();
};

Tím se Button z rozložení zachytí a po Toast kliknutí se zobrazí zpráva Button .

Teď spusťte aplikaci.

Části této stránky jsou upraveny na základě práce vytvořené a sdílené opensourcový projekt Androidu a používají se podle podmínek popsaných vlicenci Creative Commons 2.5 Atribution License.