فعال کردن تعامل‌های کاربر

‫Jetpack Compose تعامل‌پذیری دقیق در 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")
        }
    }
}

بخش طولانی‌تری از نوشتار. کاربر سعی کرد کل قطعه را انتخاب کند، اما چون دو خط «غیرفعال کردن انتخاب» اعمال شده بود، انتخاب نشدند.

ایجاد بخش‌های کلیک‌کردنی نوشتار با LinkAnnotation

برای گوش دادن به کلیک‌های Text، می‌توانید اصلاح‌گر clickable را اضافه کنید. بااین‌حال، ممکن است بخواهید اطلاعات اضافی به بخش خاصی از مقدار Text پیوست کنید، مثلاً نشانی وب پیوست‌شده به کلمه خاصی که در مرورگر باز می‌شود. در چنین مواردی، باید از LinkAnnotation استفاده کنید که یک گزارمان است که بخش کلیک‌کردنی نوشتار را نشان می‌دهد.

با LinkAnnotation، می‌توانید نشانی وبی را به بخشی از Text قابل‌ساخت پیوست کنید که پس‌از کلیک کردن به‌طور خودکار باز می‌شود، همان‌طور که در گزیده زیر نشان داده شده است:

همچنین می‌توانید کنش سفارشی را در پاسخ به کلیک کاربر روی بخشی از Text قابل ترکیب پیکربندی کنید. در گزیده زیر، وقتی کاربر روی «Jetpack Compose» کلیک می‌کند، پیوندی نمایش داده می‌شود و اگر کاربر روی پیوند کلیک کند، سنجه‌ها ثبت می‌شوند: