পছন্দের কম্পোনেন্ট ও অ্যাট্রিবিউট Android Jetpack-এর অংশ।
এই বিষয়ে, সেটিংস স্ক্রিন তৈরি করার সময় সবচেয়ে বেশি ব্যবহৃত কিছু Preference কম্পোনেন্ট ও
অ্যাট্রিবিউট সম্পর্কে বর্ণনা করা হয়েছে।
পছন্দের কম্পোনেন্ট
এই বিভাগে সাধারণ Preference কম্পোনেন্ট সম্পর্কে বর্ণনা করা হয়েছে। আরও তথ্যের জন্য, প্রতিটি কম্পোনেন্টের জন্য সংশ্লিষ্ট রেফারেন্স পৃষ্ঠা দেখুন।
পছন্দের ইনফ্রাস্ট্রাকচার
PreferenceFragmentCompat -
একটি Fragment যা
Preference অবজেক্টের একটি ইন্টার্যাক্টিভ হায়ারার্কি প্রদর্শন করে।
পছন্দের কন্টেনার
PreferenceScreen -
একটি টপ-লেভেল কন্টেনার যা সেটিংস স্ক্রিনকে উপস্থাপন করে। এটি আপনার Preference হায়ারার্কির
রুট কম্পোনেন্ট।
PreferenceCategory -
একই ধরনের Preferences গ্রুপ করার জন্য ব্যবহৃত কন্টেনার। PreferenceCategory
একটি বিভাগের শিরোনাম দেখায় এবং Preferences-এর গ্রুপকে ভিজ্যুয়ালি আলাদা করে।
ব্যক্তিগত পছন্দ
Preference - বেসিক
বিল্ডিং ব্লক যা স্বতন্ত্র সেটিংসকে দেখায়। কোনও Preference
সেট করা থাকলে, সেটির সাথে সংশ্লিষ্ট কী-ভ্যালু পেয়ার থাকে যা সেটিংয়ের জন্য ব্যবহারকারীর পছন্দ
সংরক্ষণ করে এবং অ্যাপ্লিকেশনের অন্য কোথাও থেকে অ্যাক্সেস করা যায়।
EditTextPreference -
একটি Preference যা একটি String মান বজায় রাখে। ব্যবহারকারী Preference-এ ট্যাপ করে
একটি ডায়ালগ বক্স খুলতে পারেন যেখানে টেক্সট ফিল্ড থাকে। এর মাধ্যমে ব্যবহারকারী
পারসিস্টেড ভ্যালু পরিবর্তন করতে পারেন।
ListPreference - একটি
Preference যা স্ট্রিং ভ্যালু বজায় রাখে। ব্যবহারকারীরা এই ভ্যালু পরিবর্তন করতে পারবেন
সংশ্লিষ্ট লেবেল সহ রেডিও বোতামের তালিকা আছে এমন ডায়ালগে।
MultiSelectListPreference -
একটি Preference যা স্ট্রিংয়ের একটি সেট বজায় রাখে। ব্যবহারকারীরা সংশ্লিষ্ট লেবেল সহ চেকবক্সের তালিকা আছে এমন একটি ডায়ালগে
এইসব ভ্যালু পরিবর্তন করতে পারবেন।
SeekBarPreference -
একটি Preference যা একটি পূর্ণসংখ্যা মান বজায় রাখে। Preference লেআউটে দেখানো সংশ্লিষ্ট সিকবার টেনে
এই ভ্যালু পরিবর্তন করা যেতে পারে।
SwitchPreferenceCompat -
একটি Preference যা বুলিয়ান ভ্যালু বজায় রাখে। সংশ্লিষ্ট সুইচ উইজেটের সাথে ইন্টার্যাক্ট করে অথবা
Preference লেআউটে ট্যাপ করে
এই ভ্যালু পরিবর্তন করা যেতে পারে।
CheckBoxPreference -
একটি Preference যা বুলিয়ান ভ্যালু বজায় রাখে। এই ভ্যালু পরিবর্তন করতে,
সংশ্লিষ্ট চেকবক্সে ইন্টার্যাক্ট করুন অথবা Preference
লেআউটে ট্যাপ করুন।
পছন্দের অ্যাট্রিবিউট
নিচে সবচেয়ে বেশি ব্যবহৃত কিছু অ্যাট্রিবিউটের তালিকা দেওয়া হল যা
Preference-এর চেহারা ও আচরণ কনফিগার করে।
সাধারণ অ্যাট্রিবিউট
-
title -
Stringভ্যালু যাPreference-এর শীর্ষক দেখায়।উদাহরণ:
app:title="Title" -
summary -
Stringভ্যালু যাPreferenceসারসংক্ষেপকে দেখায়।উদাহরণ:
app:summary="Summary" -
icon -
একটি
DrawableযাPreferenceআইকনকে দেখায়।উদাহরণ:
app:icon="@drawable/ic_camera" -
key -
Stringভ্যালু যা সেই 'কী'কে দেখায় যা সংশ্লিষ্টPreference-এর জন্য ভ্যালু বজায় রাখতে ব্যবহার করা হয়। একটি 'কী' আপনাকে রানটাইমের সময়Preferenceআরও কাস্টমাইজ করার অনুমতি দেয়। আপনার হায়ারার্কিতে প্রতিটিPreference-এর জন্য একটি করে 'কী' সেট করা উচিত।উদাহরণ:
app:key="key" -
enabled -
একটি বুলিয়ান ভ্যালু যা দেখায় যে ব্যবহারকারীরা
Preference-এর সাথে ইন্টার্যাক্ট করতে পারবেন কিনা। এই ভ্যালুfalseহলে,Preferenceধূসর রঙের দেখায় এবং ব্যবহারকারীরা এটির সাথে ইন্টার্যাক্ট করতে পারেন না। ডিফল্ট ভ্যালু হলtrue।উদাহরণ:
app:enabled="false" -
selectable -
একটি বুলিয়ান ভ্যালু যা দেখায় যে ব্যবহারকারী
Preference-এর সাথে ইন্টার্যাক্ট করতে পারবেন কিনা। ডিফল্ট ভ্যালু হলtrue।উদাহরণ:
app:selectable="false" -
isPreferenceVisible -
একটি বুলিয়ান ভ্যালু যা দেখায় যে
PreferenceবাPreferenceবিভাগ দেখা যাচ্ছে কিনা। এটিsetVisible()-কে কল করার সমতুল্য।উদাহরণ:
app:isPreferenceVisible="false" -
defaultValue -
Preference-এর জন্য ডিফল্ট ভ্যালু দেখায়। এইPreference-এর জন্য অন্য কোনও পারসিস্টেড ভ্যালু খুঁজে পাওয়া না গেলে, এই ভ্যালু সেট ও পারসিস্ট করা হয়। ভ্যালুর ধরন নির্ভর করে সংশ্লিষ্টPreference-এর উপর।উদাহরণ:
app:defaultValue="true" -
dependency -
SwitchPreferenceCompat-এর 'কী' দেখায় যা এইPreference-এর স্ট্যাটাস নিয়ন্ত্রণ করে। সংশ্লিষ্ট সুইচ বন্ধ করা থাকলে, এইPreferenceবন্ধ হয়ে যায় এবং এটি পরিবর্তন করা যায় না।উদাহরণ:
app:dependency="parent"
PreferenceCategory অ্যাট্রিবিউট
-
initialExpandedChildrenCount -
একটি পূর্ণসংখ্যা মান যা এক্সপ্যান্ডেবল
Preferenceআচরণ চালু করে। এই ভ্যালুPreferenceGroup-এ সর্বাধিক কতগুলি চাইল্ড দেখানো হবে তা বোঝায়। অন্যান্য চিলড্রেনকে আড়াল করা হয় এবং 'বড় করুন' বোতামে ট্যাপ করে দেখানো যেতে পারে। ডিফল্ট হিসেবে, এই ভ্যালু হলInteger.MAX_VALUEএবং সব চাইল্ড দেখানো হয়।সতর্কতা: এই অ্যাট্রিবিউট ব্যবহার করলে,
PreferenceCategory-এ একটি কী সেট করেছেন কিনা তা নিশ্চিত করুন, যাতে কনফিগারেশন পরিবর্তন হলে (যেমন, স্ক্রিন রোটেট করার সময়) স্টেট সঠিকভাবে সেভ ও রিস্টোর করা যায়।উদাহরণ:
app:initialExpandedChildrenCount="0"
ListPreference / MultiSelectListPreference অ্যাট্রিবিউট
-
entries -
স্ট্রিংয়ের একটি অ্যারে যা ব্যবহারকারীকে দেখানোর জন্য তালিকার এন্ট্রির সাথে সম্পর্কিত। এইসব ভ্যালুর প্রতিটি ইন্টার্নালি সেভ করা ভ্যালুর অ্যারের ইনডেক্স অনুযায়ী হয়। যেমন, কোনও ব্যবহারকারী তালিকার প্রথম এন্ট্রি বেছে নিলে, ভ্যালুর সংশ্লিষ্ট অ্যারের প্রথম এলিমেন্ট সেভ করা হয়।
উদাহরণ:
app:entries="@array/entries"সতর্কতা: দুটি অ্যারের দৈর্ঘ্য একই কিনা এবং প্রতিটি অ্যারের ইন্ডেক্স সঠিক এন্ট্রি / ভ্যালু পেয়ারের সাথে ম্যাচ করছে কিনা তা নিশ্চিত করুন।
-
entryValues -
যে অ্যারেতে এন্ট্রিগুলি রয়েছে তা বজায় রাখা হবে। এইসব ভ্যালুর প্রতিটি ব্যবহারকারীকে দেখানো তালিকা এন্ট্রির অ্যারের ইনডেক্স অনুযায়ী হয়।
উদাহরণ:
app:entryValues="@array/values"