Avatar ·

كيفية إخفاء لوحة المفاتيح برمجيًا في Jetpack Compose عند العمل مع TextField

مرحبًا بالجميع! بدأت في تعلم Jetpack Compose وواجهت مشكلة: بعد أن يقوم المستخدم بإدخال النص في TextField، لا يتم إخفاء لوحة المفاتيح تلقائيًا. أحتاج إلى إخفائها عند الضغط على زر "تم" أو بعد إرسال النموذج. في View التقليدي، كان يتم ذلك عبر InputMethodManager، لكن في Compose لا يعمل ذلك مباشرة.

إليك الكود الحالي الخاص بي:

@Composable
fun LoginScreen() {
    var text by remember { mutableStateOf("") }
    
    Column(
        modifier = Modifier.fillMaxSize().padding(16.dp)
    ) {
        OutlinedTextField(
            value = text,
            onValueChange = { text = it },
            label = { Text("أدخل الاسم") },
            modifier = Modifier.fillMaxWidth()
        )
        
        Button(
            onClick = {
                // هنا يجب إخفاء لوحة المفاتيح
                Log.d("TAG", "إرسال: $text")
            }
        ) {
            Text("إرسال")
        }
    }
}