عناصر التحكّم المخصّصة

باستخدام عناصر التحكم المخصَّصة، يمكنك إضافة عناصر واجهة المستخدم الخاصة بك أعلى عرض التنقّل. تقوم حزمة SDK للتنقل تلقائيًا بإعادة وضع عناصر التحكم المخصصة لديك مع تغييرات التخطيط المضمنة.

يمكنك ضبط عنصر تحكّم مخصّص واحد لكل موضع. يمكن أن يكون عنصر التحكّم المخصّص عنصرًا واحدًا في واجهة المستخدم، أو إذا كان التصميم يتطلّب المزيد من العناصر، يمكنك استخدام ViewGroup مع عدة عناصر لواجهة مستخدِم.

توفّر الطريقة setCustomControl مواضع على النحو المحدّد في CustomControlPosition التعداد:

  • SECONDARY_HEADER (تظهر في الوضع العمودي فقط)
  • BOTTOM_START_BELOW
  • BOTTOM_END_BELOW

في الصورة أدناه، يمكنك رؤية أمثلة لكل موضع في موضع عنصر تحكم واجهة المستخدم لإبلاغ السائق بموقع الراكب.

مواضع التحكّم المخصّص

إضافة عنصر تحكّم مخصّص أسفل العنوان الأساسي

تعرض التخطيطات بشكل تلقائي سهم ثم أو إرشادات حول الحارة المرورية أسفل العنوان الأساسي. يمكن لتطبيقك استبدال التنسيق الافتراضي بعنصر تحكم مخصص تم تعيينه في موضع العنوان الثانوي. يحل عنصر التحكم هذا محل المحتوى الافتراضي في أعلى عرض التنقل. إذا كان للعرض خلفية، ستظل هذه الخلفية في مكانها. عندما يزيل تطبيقك المحتوى المخصص، يظهر المحتوى الافتراضي في مكانه.

هذا الموضع أسفل عنوان الخريطة الأساسية، مع محاذاة الحافة العلوية مع الحافة السفلية للرأس الأساسي. العنوان الثانوي التلقائي مخفيّ. لا يتم دعم هذا الموضع إلا في portrait mode. أمّا في landscape mode، فيكون العنوان الثانوي غير متاح ولا يتغيّر التنسيق.

  1. أنشِئ ملفًا شخصيًا على Android باستخدام عنصر واجهة المستخدم المخصّص أو ViewGroup.
  2. تضخّم ملف XML أو أنشئ مثيلاً للعرض المخصّص للحصول على مثيل للعرض لإضافته كعنوان ثانوي.
  3. استخدِم NavigationView.setCustomControl أو NavigationFragment.setCustomControl مع CustomControlPosition كـ SECONDARY_Header.

    يؤدي المثال أدناه إلى إنشاء جزء وإضافة عنصر تحكّم مخصّص في موضع العنوان الثانوي.

     mNavFragment.setCustomControl(getLayoutInflater().
       inflate(R.layout.your_custom_control, null),
          CustomControlPosition.SECONDARY_HEADER);
    

إزالة عنوان ثانوي

لإزالة العنوان الثانوي والعودة إلى المحتوى التلقائي، استخدِم طريقة setCustomControl.

  • اضبط طريقة العرض على قيمة فارغة لإزالة طريقة العرض.

    mNavFragment.setCustomControl(null, CustomControlPosition.SECONDARY_HEADER);
    

إضافة عنصر تحكّم مخصّص أعلى طريقة عرض التنقّل

يمكن لتطبيقك تحديد عنصر تحكّم مخصّص تتماشى مع الحافة السفلية للعرض. عندما يضيف تطبيقك عنصر التحكم المخصص، يتحرك زر إعادة التوسيط وشعار Google لأعلى لاستيعاب عنصر التحكم المخصص.

  1. أنشِئ ملفًا شخصيًا على Android باستخدام عنصر واجهة المستخدم أو مجموعة طرق العرض التي تريد إضافتها.
  2. إنشاء طريقة عرض التنقّل أو كسرها
  3. استدعِ الطريقة setCustomControl في طريقة عرض التنقّل أو الجزء، وحدِّد عنصر التحكّم والموضع المطلوب استخدامه.

يوضّح المثال التالي تخصيص View تمت إضافته إلى NavigationFragment:

  private NavigationFragment mNavFragment;
    mNavFragment = (NavigationFragment)
      getFragmentManager().findFragmentById(R.id.navigation_fragment);

    // Create the custom control view.
    MyCustomView myCustomView = new MyCustomView();

    // Add the custom control to the bottom end corner of the layout.
    mNavFragment.setCustomControl(myCustomView, CustomControlPosition.
       BOTTOM_END_BELOW);

إزالة عنصر تحكّم مخصّص

عندما تريد إزالة عنصر التحكّم المخصّص، استخدِم الطريقة setCustomControl وحدِّد موضع عنصر التحكّم الذي تريد إزالته.

  • اضبط العرض على null لهذا الموضع.

    mNavFragment.setCustomControl(null, CustomControlPosition.BOTTOM_END_BELOW);