ডুয়াল প্যান কাস্টমাইজেশন

অ্যান্ড্রয়েড 12 একটি দ্বৈত ফলক নকশা প্রবর্তন করে, বাম দিকে একটি স্ট্যাটিক L0 মেনু এবং ডানদিকে একটি সামগ্রী ফলক সহ। এই বৈশিষ্ট্যটি অনেক নতুন কাস্টমাইজেশন বিকল্প প্রবর্তন করে। এই পৃষ্ঠাটি সেই বৈশিষ্ট্যগুলির বিবরণ দেয় এবং ব্যাখ্যা করে কিভাবে আপনি নিজের পছন্দগুলি কাস্টমাইজ করতে পারেন৷

একক ফলকে প্রত্যাবর্তন করুন

ডিফল্টরূপে, যখন অ্যাপ উইন্ডো প্রস্থে 1400dp এর থেকে বেশি বা সমান হয় এবং অন্যথায় একক ফলক দৃশ্য দেখায় তখন CarSettings এখন ডুয়াল প্যান ভিউ প্রদর্শন করে। একটি নির্দিষ্ট ডিভাইসের জন্য এটি কাস্টমাইজ করতে, প্রয়োজনীয় কনফিগারেশন মান লক্ষ্য করতে একটি রানটাইম রিসোর্স ওভারলে (RRO) ব্যবহার করুন:

মান বর্ণনা
config_global_force_single_pane সম্পূর্ণ অ্যাপটি যদি একক-পেন কনফিগারেশনে চালানো হয় তাহলে true সেট করুন।
config_homepage_fragment_class হোমপেজের জন্য শুরুর খণ্ডটি নির্দিষ্ট করে। ডুয়াল প্যানে, এটি কন্টেন্ট প্যানে প্রাথমিক খণ্ডের জন্য ব্যবহৃত হয়। একক-ফলকে, এটি হোমপেজ খণ্ড হওয়া উচিত।

হেডার কী

যেহেতু বিভিন্ন CarSettings কার্যকলাপে একটি কাস্টমাইজড IA থাকতে পারে, তাই কাস্টমাইজেশন সহজ করার জন্য একটি হেডার কী ম্যাপিং প্রদান করা হয়। AndroidManifest.xml এ, দ্বৈত ফলক সমর্থন করে এমন প্রতিটি কার্যকলাপের মেটাডেটাতে একটি TOP_LEVEL_HEADER_KEY নির্দিষ্ট করা আছে। এই মানটি res/values/header_keys.xml এ নির্দিষ্ট করা একটি কীকে নির্দেশ করে, যেটি শীর্ষ-স্তরের মেনু আইটেমের পছন্দ কী-তে ম্যাপ করা হয় যেটি প্রারম্ভিক খণ্ডটি পড়ে। অতএব, যদি একটি কার্যকলাপের শুরুর খণ্ডটি পরিবর্তন করা হয় বা IA এমনভাবে পুনর্বিন্যাস করা হয় যে একটি নির্দিষ্ট খণ্ডটি একটি ভিন্ন শীর্ষ-স্তরের পছন্দের অধীনে পড়ে, সঠিক মান নির্দিষ্ট করার জন্য header_keys.xml ফাইলের প্রাসঙ্গিক ম্যাপিং(গুলি) আপডেট করা যেতে পারে। .

কার্যকলাপ বিন্যাস কাস্টমাইজ করুন

BaseCarSettingsActivity এর লেআউট res/layout/car_setting_activity এ এবং এই বিভাগগুলিতে অবস্থিত:

মান বর্ণনা
top_level_menu ডুয়াল প্যান কনফিগারেশনে দেখানো শীর্ষ-স্তরের মেনু খণ্ড। এই বিভাগের প্রস্থ top_level_menu_width দ্বারা নির্দিষ্ট করা হয়েছে। একটি চ্যাসিস বেস লেআউট (টুলবার সহ) এই দৃশ্যের চারপাশে মোড়ানো হয়।
top_level_divider উল্লম্ব লাইন যা দুটি ফলককে বিভক্ত করে এবং যার প্রস্থ আপনি top_level_divider_width দিয়ে কাস্টমাইজ করতে পারেন।
fragment_container_wrapper বিষয়বস্তু ফলকের জন্য মোড়ক বিন্যাস (বা একটি একক প্যান কনফিগারেশনের প্রধান ফলক)। একটি চ্যাসি বেসলেআউট (টুলবার সহ) এই দৃশ্যের চারপাশে মোড়ানো হয়।
settings_focus_parking_view প্রয়োজনের সময় রোটারি ফোকাস ধরে রাখতে FocusParkingView এর কাস্টম বাস্তবায়ন।
fragment_container প্রধান বিষয়বস্তুর ধারক। বিষয়বস্তুর খণ্ডগুলি লক্ষ্য বিন্যাস হিসাবে এটি ব্যবহার করে।
restricted_message UX-সীমাবদ্ধ ব্লকিং ভিউ BaseFragment উদাহরণে দেখানো হবে।

চিত্র 1. ডুয়াল প্যান লেআউট

শীর্ষ-স্তরের পছন্দ

শীর্ষ-স্তরের পছন্দগুলি হল পছন্দের উচ্চতা এবং পটভূমির আকৃতি পরিবর্তন করতে একটি সামান্য পরিবর্তিত বিন্যাস সহ কাস্টম CarUiPreferences৷ এই পছন্দগুলির চেহারা কাস্টমাইজ করার বিভিন্ন উপায় রয়েছে:

মান বর্ণনা
res/layout/top_level_preference.xml সমগ্র পছন্দ বিন্যাস ওভারলে.
top_level_preference_min_height শীর্ষ-স্তরের পছন্দের ন্যূনতম উচ্চতা। বিষয়বস্তুর উপর নির্ভর করে (উদাহরণস্বরূপ, একটি সাবটাইটেল রয়েছে), পছন্দগুলি এই মানের থেকে লম্বা হতে পারে।
top_level_preference_corner_radius কোণার বৃত্তাকার ব্যাসার্ধ।
top_level_preference_background শীর্ষ-স্তরের পছন্দগুলির পটভূমি যখন বর্তমানে হাইলাইট করা হয়নি।
top_level_preference_highlight হাইলাইট করার সময় শীর্ষ-স্তরের পছন্দগুলির পটভূমি।

শীর্ষ-স্তরের আইকন

চিত্র 2 ব্যাখ্যা করে যে কীভাবে শীর্ষ-স্তরের আইকনগুলি এখন একটি রঙিন পটভূমি আকৃতির মধ্যে একটি ভেক্টর আইকন নিয়ে গঠিত। এই আকৃতিটি বর্তমানে একটি ডিম্বাকৃতি এবং আয়তক্ষেত্রাকার আকৃতিকে সমর্থন করার জন্য কনফিগার করা হয়েছে৷ ডিফল্টরূপে, আকৃতি ডিম্বাকৃতিতে সেট করা হয়।

ডিফল্ট পরিবর্তন করতে, মান পরিবর্তন করুন config_top_level_icon_shape (যেখানে 0 হল আয়তক্ষেত্র এবং 1 হল ডিম্বাকৃতি)। পটভূমি আকৃতি থেকে top_level_foreground_icon_inset দ্বারা ফোরগ্রাউন্ড আইকন ইনসেট করে আইকন তৈরি করা হয়। প্রতিটি শীর্ষ-স্তরের আইকনের একটি অগ্রভাগের রঙ res/values/colors.xml এ নির্দিষ্ট করা আছে এবং res/color ফোল্ডারে একটি পটভূমির রঙ নির্দিষ্ট করা আছে।

একটি কাস্টমাইজড চেহারা তৈরি করতে, আপনি সমস্ত রঙের মান ওভাররাইড করতে পারেন।

চিত্র 2. শীর্ষ-স্তরের পছন্দ উপাদান

config_top_level_injection_categories দ্বারা নির্দিষ্ট শ্রেণীতে পড়ে ইনজেকশন করা পছন্দের আইকনগুলিকেও শীর্ষ-স্তরের আইকন হিসাবে বিবেচনা করা হয়। প্রদত্ত আইকনগুলি একই মান দ্বারা এবং অন্যান্য সমস্ত শীর্ষ-স্তরের আইকনের জন্য নির্দিষ্ট করা একই আকারে ইনসেট করা হয় (উপরে দেখুন)। যাইহোক, এই ক্রমে নিম্নলিখিত বৈশিষ্ট্যগুলি দেখে পটভূমি নির্ধারণ করা হয়:

  1. com.android.settings.bg.argb ইনজেকশন অ্যাপ থেকে মেটা ডেটা।
  2. com.android.settings.bg.hint ইনজেকশন অ্যাপ থেকে মেটা ডেটা।
  3. top_level_injected_default_background res/values/colors.xml এ নির্দিষ্ট করা হয়েছে।

ইনজেকশন অ্যাপ ডেটা উপেক্ষা করতে এবং সর্বদা ডিফল্ট ব্যাকগ্রাউন্ড ব্যবহার করতে, config_top_level_injection_background_always_use_default true সেট করুন।