কাস্টম নিয়ন্ত্রণ

কাস্টম নিয়ন্ত্রণ ব্যবহার করে, আপনি নেভিগেশন দৃশ্যের উপরে আপনার নিজস্ব UI উপাদান যোগ করতে পারেন। বিল্ট-ইন লেআউট পরিবর্তনের সাথে সাথে নেভিগেশন SDK স্বয়ংক্রিয়ভাবে আপনার কাস্টম নিয়ন্ত্রণগুলিকে পুনরায় স্থাপন করে।

প্রতিটি অবস্থানের জন্য, আপনি একটি কাস্টম নিয়ন্ত্রণ সেট করতে পারেন। কাস্টম নিয়ন্ত্রণ একটি UI উপাদান হতে পারে বা, যদি আপনার ডিজাইনের জন্য আরও প্রয়োজন হয়, আপনি একাধিক UI উপাদান সহ একটি ViewGroup ব্যবহার করতে পারেন৷

setCustomControl পদ্ধতিটি CustomControlPosition enum- এ সংজ্ঞায়িত পজিশন প্রদান করে:

  • SECONDARY_HEADER (শুধুমাত্র প্রতিকৃতি মোডে প্রদর্শিত হয়)
  • BOTTOM_START_BELOW
  • BOTTOM_END_BELOW

নীচের ছবিতে, আপনি একটি UI কন্ট্রোল স্থাপনের প্রতিটি অবস্থানের উদাহরণ দেখতে পারেন যা ড্রাইভারকে একজন রাইডারের অবস্থান সম্পর্কে অবহিত করে।

Custom Control Positions

প্রাথমিক শিরোনামের নীচে একটি কাস্টম নিয়ন্ত্রণ যোগ করুন

ডিফল্টরূপে, লেআউটগুলি প্রাথমিক শিরোনামের নীচে একটি তারপর তীর বা লেন নির্দেশিকা প্রদর্শন করে। আপনার অ্যাপ সেকেন্ডারি হেডার পজিশনে একটি কাস্টম কন্ট্রোল সেট দিয়ে ডিফল্ট লেআউট প্রতিস্থাপন করতে পারে। এই নিয়ন্ত্রণ নেভিগেশন দৃশ্যের উপরে ডিফল্ট সামগ্রী প্রতিস্থাপন করে। যদি আপনার ভিউয়ের একটি ব্যাকগ্রাউন্ড থাকে, তাহলে সেই পটভূমিটি আগের জায়গায় থাকবে। যখন আপনার অ্যাপ কাস্টম কন্টেন্ট সরিয়ে দেয়, ডিফল্ট কন্টেন্ট তার জায়গায় উপস্থিত হয়।

এই অবস্থানটি প্রাইমারি ম্যাপ হেডারের নিচে, উপরের প্রান্তটি প্রাথমিক হেডারের নিচের প্রান্তের সাথে সারিবদ্ধ। ডিফল্ট সেকেন্ডারি হেডার লুকানো আছে। এই অবস্থানটি শুধুমাত্র portrait mode সমর্থিত। landscape mode , সেকেন্ডারি হেডার অনুপলব্ধ, এবং লেআউট পরিবর্তন হয় না।

  1. কাস্টম UI উপাদান বা ভিউগ্রুপ দিয়ে একটি অ্যান্ড্রয়েড ভিউ তৈরি করুন।
  2. সেকেন্ডারি হেডার হিসেবে ভিউয়ের একটি উদাহরণ পেতে xml স্ফীত করুন বা কাস্টম ভিউকে ইনস্ট্যান্টিয়েট করুন।
  3. SECONDARY_HEADER হিসাবে CustomControlPosition সহ NavigationView.setCustomControl বা NavigationFragment.setCustomControl ব্যবহার করুন।

    নীচের উদাহরণটি একটি খণ্ড তৈরি করে এবং সেকেন্ডারি হেডার অবস্থানে কাস্টম নিয়ন্ত্রণ যোগ করে।

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

একটি সেকেন্ডারি হেডার সরান

আপনি যখন সেকেন্ডারি হেডার মুছে ফেলতে চান এবং ডিফল্ট সামগ্রীতে ফিরে যেতে চান, setCustomControl পদ্ধতি ব্যবহার করুন।

  • ভিউ অপসারণ করতে ভিউটিকে নাল এ সেট করুন।

    mNavFragment.setCustomControl(null, CustomControlPosition.SECONDARY_HEADER);
    

নেভিগেশন দৃশ্যের উপরে একটি কাস্টম নিয়ন্ত্রণ যোগ করুন

আপনার অ্যাপটি দৃশ্যের নীচের প্রান্তের সাথে সারিবদ্ধ একটি কাস্টম নিয়ন্ত্রণ নির্দিষ্ট করতে পারে। যখন আপনার অ্যাপ কাস্টম কন্ট্রোল যোগ করে, তখন কাস্টম কন্ট্রোল মিটমাট করতে রি-সেন্টার বোতাম এবং Google লোগো উপরে চলে যায়।

  1. আপনি যে UI উপাদান বা ভিউ গ্রুপ যোগ করতে চান তার সাথে একটি Android ভিউ তৈরি করুন।
  2. নেভিগেশন ভিউ বা ফ্র্যাগমেন্ট তৈরি করুন।
  3. নেভিগেশন ভিউ বা ফ্র্যাগমেন্টে setCustomControl পদ্ধতিতে কল করুন এবং নিয়ন্ত্রণ এবং ব্যবহার করার অবস্থান নির্দিষ্ট করুন।

নিম্নলিখিত উদাহরণটি একটি NavigationFragment যোগ করা একটি কাস্টম View দেখায়:

  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);