تنفيذ ميزة التنقل على الشاشة

تعرض التطبيقات غالبًا عددًا من الشاشات المختلفة، وقد تستخدم كل شاشة نماذج مختلفة يمكن للمستخدم التنقّل بينها أثناء التفاعل مع الواجهة.

يوفر الصف ScreenManager مجموعة من الشاشات يمكنك استخدامها لعرض شاشات يمكن إزالتها تلقائيًا عندما ينقر المستخدم على زر رجوع على شاشة السيارة أو يستخدم زر رجوع الفعلي المتوفّر في بعض السيارات.

يوضّح هذا الرمز كيفية إضافة إجراء رجوع إلى نموذج رسالة، بالإضافة إلى إجراء لعرض شاشة جديدة عندما يختارها المستخدم:

val header = Header.Builder()
    .setStartHeaderAction(Action.BACK)
    .build()

val template = MessageTemplate.Builder("Hello world!")
    .setHeader(header)
    .addAction(
        Action.Builder()
            .setTitle("Next screen")
            .setOnClickListener { screenManager.push(NextScreen(carContext)) }
            .build()
    )
    .build()

الكائن Action.BACK هو Action عادي يستدعي تلقائيًا ScreenManager.pop. يمكن إلغاء هذا السلوك باستخدام مثيل OnBackPressedDispatcher المتاح من CarContext.

لتعزيز القيادة الآمنة، يجب ألا تتضمّن مجموعة الشاشات أكثر من خمس شاشات. لمزيد من المعلومات، يُرجى الاطّلاع على القيود المفروضة على النماذج.