הוספת לחצן פעולה צף

אנסה לכתוב
‫Jetpack Compose היא ערכת הכלים המומלצת לבניית ממשק משתמש ל-Android. איך מוסיפים רכיבים ב-Compose

לחצן פעולה צף (FAB) הוא לחצן עגול שמפעיל את הפעולה הראשית בממשק המשתמש של האפליקציה. בדף הזה מוסבר איך להוסיף את ה-FAB לפריסה, להתאים אישית חלק מהמראה שלו ולהגיב להקשות על הכפתור.

מידע נוסף על עיצוב כפתור פעולה צף באפליקציה בהתאם להנחיות של Material Design זמין גם במאמר לחצנים: כפתור פעולה צף.

איור 1. לחצן פעולה צף

הוספת לחצן פעולה צף לפריסה

בדוגמת הקוד הבאה אפשר לראות איך התג FloatingActionButton צריך להופיע בקובץ הפריסה:

<com.google.android.material.floatingactionbutton.FloatingActionButton
        android:id="@+id/fab"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="end|bottom"
        android:src="@drawable/ic_my_icon"
        android:contentDescription="@string/submit"
        android:layout_margin="16dp" />

כברירת מחדל, הצבע של הלחצן הראשי נקבע על ידי המאפיין colorAccent, שאפשר להתאים אישית באמצעות לוח הצבעים של העיצוב.

אפשר להגדיר מאפיינים אחרים של לחצן ה-FAB באמצעות מאפייני XML או באמצעות שיטות מתאימות, כמו:

  • הגודל של הלחצן הצף, באמצעות המאפיין app:fabSize או השיטה setSize().
  • צבע האדווה של הלחצן הראשי, באמצעות המאפיין app:rippleColor או השיטה setRippleColor().
  • הסמל של הלחצן הצף, באמצעות המאפיין android:src או השיטה setImageDrawable().

תגובה להקשות על כפתורים

אחר כך אפשר להחיל View.OnClickListener כדי לטפל בהקשות על לחצן ה-FAB. לדוגמה, הקוד הבא מציג Snackbar כשהמשתמש מקיש על הלחצן הראשי:

Kotlin

val fab: View = findViewById(R.id.fab)
fab.setOnClickListener { view ->
    Snackbar.make(view, "Here's a Snackbar", Snackbar.LENGTH_LONG)
            .setAction("Action", null)
            .show()
}

Java

FloatingActionButton fab = findViewById(R.id.fab);
fab.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {
        Snackbar.make(view, "Here's a Snackbar", Snackbar.LENGTH_LONG)
                .setAction("Action", null).show();
    }
});

מידע נוסף על היכולות של ה-FAB מופיע בהפניית ה-API של FloatingActionButton.