1. Wstęp teoretyczny
Przycisk (Button) to jedna z najczęściej używanych kontrolek w aplikacjach mobilnych. Umożliwia użytkownikowi wykonywanie akcji — np. przejście do innego ekranu, wysłanie danych z formularza, zmianę koloru, wyświetlenie komunikatu itp.
W Android Studio przycisk należy do klasy android.widget.Button.
Aby działał, musi zostać:
- zdefiniowany w pliku XML (interfejs użytkownika),
- powiązany z kodem Java, który reaguje na kliknięcie.
2. Dodawanie przycisku w XML
Najprostszy przycisk można dodać w pliku activity_main.xml:
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Kliknij mnie!" />
Atrybuty:
android:id– unikalny identyfikator przycisku (używany w Javie),android:text– tekst widoczny na przycisku,android:layout_widthiandroid:layout_height– rozmiar przycisku (np.wrap_contentlubmatch_parent).
3. Obsługa przycisku w Javie
Każdy przycisk może reagować na zdarzenie kliknięcia (OnClickListener):
Button button = findViewById(R.id.button1);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(MainActivity.this, "Kliknięto przycisk!", Toast.LENGTH_SHORT).show();
}
});
Metoda Toast.makeText(...) wyświetla krótką wiadomość na ekranie.
4. Używanie metody onClick bezpośrednio w XML
Zamiast definiować obsługę w kodzie Java, można użyć atrybutu android:onClick:
W XML:
<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Pokaż komunikat"
android:onClick="pokazKomunikat" />
W Javie:
public void pokazKomunikat(View view) {
Toast.makeText(this, "Przycisk działa!", Toast.LENGTH_SHORT).show();
}
5. Stylizacja przycisku
Przyciski można stylizować podobnie jak inne kontrolki:
<Button
android:id="@+id/button3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Zmieniony styl"
android:textColor="#FFFFFF"
android:textSize="18sp"
android:background="#2196F3"
android:padding="12dp"
android:layout_marginTop="10dp"
android:layout_gravity="center" />
Najczęściej używane atrybuty:
android:textColor– kolor tekstu,android:textSize– rozmiar czcionki,android:background– kolor tła przycisku,android:padding– odstęp wewnętrzny,android:layout_margin– odstęp zewnętrzny,android:layout_gravity– pozycjonowanie wewnątrz layoutu.
6. Zmiana wyglądu przycisku po kliknięciu
Można zmienić wygląd przycisku dynamicznie w Javie:
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
button.setText("Kliknięto!");
button.setBackgroundColor(Color.GREEN);
button.setTextColor(Color.BLACK);
}
});
7. Przycisk z obrazkiem
W XML możesz dodać ikonę obok tekstu:
<Button
android:id="@+id/buttonIcon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Start"
android:drawableLeft="@drawable/ic_start"
android:padding="10dp" />
Atrybuty:
android:drawableLeft,android:drawableRight,android:drawableTop,android:drawableBottom– dodają obrazek obok tekstu.
8. Rodzaje przycisków
W Androidzie istnieje kilka typów przycisków:
- Button – standardowy przycisk,
- ImageButton – przycisk z samym obrazkiem,
- ToggleButton – przycisk przełącznik (ON/OFF),
- Switch – nowoczesny przełącznik,
- RadioButton – przycisk wyboru jednej opcji,
- CheckBox – przycisk wyboru wielu opcji.
9. Przykład – zmiana tła ekranu po kliknięciu
Button btn = findViewById(R.id.buttonChange);
LinearLayout layout = findViewById(R.id.mainLayout);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
layout.setBackgroundColor(Color.CYAN);
}
});
10. Przykład – zmiana tła ekranu na losowy kolor
Random random = new Random(); // stworzenie obiektu random
int r = random.nextInt(256);
int g = random.nextInt(256);
int b = random.nextInt(256);
// Utworzenie koloru i ustawienie tła
int randomColor = Color.rgb(r, g, b);
layout.setBackgroundColor(randomColor);
Zadania dla uczniów
-
Podstawowy przycisk: Utwórz przycisk, który po kliknięciu wyświetla Twoje imienie.
-
Dwa przyciski – różne akcje: Dodaj dwa przyciski – jeden zmienia kolor tła, drugi kolor tekstu w
TextView. -
Zmiana tekstu przycisku: Utwórz przycisk, który po kliknięciu zmienia swój tekst na „Kliknięto!”.
-
ImageButton: Dodaj
ImageButtonz obrazkiem w folderzedrawable, który po kliknięciu wyświetli komunikat „Obrazek kliknięty!”. -
Stylizacja: Utwórz przycisk z własnym tłem, kolorem tekstu, większą czcionką i zaokrąglonymi rogami (podpowiedź: użyj
shapewdrawable). -
Przycisk losowego koloru: Napisz kod, który po każdym kliknięciu przycisku zmienia tło aplikacji na losowy kolor.