Android tutorial IV: Tworzenie Menu w Aktywności

menu-icon-800pxWitaj w czwartym wpisie, dzisiaj krótko omówimy sobie tworzenie Menu w aktywności od podstaw, zaczynajmy: 

Tworzymy nową pustą aktywność > Tworzymy nowy katalog zasobów który nazwiemy menu > w tym katalogu tworzymy plik XML który także nazwiemy menu.

Tworzymy Menu w aktywności:

Przejdźmy teraz do naszego nowo utworzonego pliku XML:

  • Implementujemy dwa Itemy – czyli dwa przyciski:), nadajemy im Id oraz nazwy.
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
    <item
        android:id="@+id/Next"
        android:title="@string/Next" />
    <item
        android:id="@+id/Back"
        android:title="@string/Back" />
</menu>

Zawsze możemy podejrzeć nasze zmiany tak jak przy tworzenie layoutów, dzięki funkcji Preview:

preview

Przechodzimy do naszego pliku JAVA,  MainActivity i implementujemy nasze menu:

  • Pierwszy krok to wywołanie metody onCreateOptionsMenu() poza główną metodą OnCreate,
  • Następnie tworzymy MenuInflater który mówiąc najprościej zamienia nasz plik XML na widok, pamiętajmy, że nasza metoda musi zwracać true,
  • Wywołujemy następną metodę onOptionItemSelected(), umieszczamy w niej switcha z możliwością wyboru względem Id które podaliśmy w pliku XML, ta metoda również musi zwracać true.
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {

        MenuInflater inflater = getMenuInflater();
        inflater.inflate(R.menu.menu, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {

        switch (item.getItemId()) {

            case R.id.Next: {

                Toast.makeText(MainActivity.this, "Next", Toast.LENGTH_SHORT).show();

                return true;

            }

            case R.id.Back: {

                Toast.makeText(MainActivity.this, "Back", Toast.LENGTH_SHORT).show();

                return true;
            }
        }

        return true;
    }
}

 

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *