הפעלת האינטראקציות של המשתמשים

‫Jetpack פיתוח נייטיב מאפשר אינטראקטיביות ברמה גבוהה ב-Text. בחירת הטקסט עכשיו גמישה יותר ואפשר לבצע אותה בפריסות שניתנות להרכבה. אינטראקציות של משתמשים בטקסט שונות מפריסות אחרות שאפשר להרכיב, כי אי אפשר להוסיף משנה לחלק מפריט Text שאפשר להרכיב. בדף הזה מודגשים ממשקי ה-API שמאפשרים אינטראקציות של משתמשים.

בחירת טקסט

כברירת מחדל, לא ניתן לבחור רכיבים שאפשר להרכיב, כלומר המשתמשים לא יכולים לבחור ולהעתיק טקסט מהאפליקציה. כדי לאפשר בחירת טקסט, צריך להוסיף את הרכיב שאפשר להרכיב SelectionContainer מסביב לרכיבי הטקסט:

@Composable
fun SelectableText() {
    SelectionContainer {
        Text("This text is selectable")
    }
}

קטע טקסט קצר שנבחר על ידי המשתמש.

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

@Composable
fun PartiallySelectableText() {
    SelectionContainer {
        Column {
            Text("This text is selectable")
            Text("This one too")
            Text("This one as well")
            DisableSelection {
                Text("But not this one")
                Text("Neither this one")
            }
            Text("But again, you can select this one")
            Text("And this one too")
        }
    }
}

קטע טקסט ארוך יותר. המשתמש ניסה לבחור את כל הקטע, אבל מכיוון שהוחל על שתי שורות DisableSelection, הן לא נבחרו.

יצירת קטעי טקסט שאפשר ללחוץ עליהם באמצעות LinkAnnotation

כדי להאזין לקליקים על Text, אפשר להוסיף את המקש המשנה clickable עם זאת, יכול להיות שתרצו לצרף מידע נוסף לחלק מסוים בערך Text, למשל כתובת URL שמצורפת למילה מסוימת כדי לפתוח אותה בדפדפן. במקרים כאלה, צריך להשתמש בLinkAnnotation, שהיא הערה שמייצגת חלק בטקסט שאפשר ללחוץ עליו.

עם LinkAnnotation, אפשר לצרף כתובת URL לחלק מ-Text composable שנפתח אוטומטית כשלוחצים עליו, כמו שמוצג בקטע הקוד הבא:

אפשר גם להגדיר פעולה בהתאמה אישית בתגובה ללחיצה של משתמש על חלק מהרכיב Text. בקטע הקוד הבא, כשמשתמש לוחץ על Jetpack Compose, מוצג קישור, והמדדים נרשמים ביומן אם המשתמש לוחץ על הקישור: