UserConfigurations আপনাকে এমন বিকল্প তৈরি করতে দেয় যার মধ্যে ব্যবহারকারী বেছে নিতে পারেন। আপনি নির্বাচিত মানের উপর ভিত্তি করে ওয়াচফেস উপাদানগুলির উপস্থিতি সামঞ্জস্য করতে পারেন।
ব্যবহারকারীর কনফিগারেশন বিকল্পগুলি হতে পারে:
-
BooleanConfiguration: সাধারণত যেখানে ব্যবহারকারীর কাছে একটি উপাদান দেখানোর বা না দেখানোর বিকল্প থাকতে পারে, অথবা দুটি শৈলীর মধ্যে একটি বেছে নেওয়ার জন্য ব্যবহৃত হয়। -
ListConfiguration: ব্যবহারকারীকে বিভিন্ন ধরণের বিকল্প প্রদান করে। উদাহরণস্বরূপ, যদি ঘড়ির মুখের চারটি ভিন্ন ব্যাকগ্রাউন্ড চিত্র থেকে বেছে নেওয়ার জন্য থাকে -
ColorConfiguration: রঙের থিম সংজ্ঞায়িত করে, যেখান থেকে ব্যবহারকারী তাদের পছন্দের থিম নির্বাচন করতে পারেন।
বুলিয়ান বিকল্পগুলি
বুলিয়ান অপশনগুলি সম্ভবত ব্যবহারকারীর কনফিগারেশনের মধ্যে সবচেয়ে সহজ। এগুলিকে নিম্নরূপ সংজ্ঞায়িত করা যেতে পারে:
<!-- Under WatchFace element --> <UserConfigurations> <!-- show_date and show_date_label defined in res/values/strings.xml --> <BooleanConfiguration id="show_date" displayName="show_date_label" screenReaderText="show_date_label" defaultValue="TRUE" /> </UserConfigurations>
বুলিয়ান অপশনগুলি তখন দুটি উপায়ে ব্যবহার করা যেতে পারে:
ওয়াচফেস
Sceneমধ্যেBooleanConfigurationকাঠামো ব্যবহার করা:<!-- Within the main Scene of the watch face --> <BooleanConfiguration id="show_date"> <BooleanOption id="TRUE"> <!-- ...Content when date required --> </BooleanOption> <BooleanOption id="FALSE"> <!-- ...Content when date not required --> </BooleanOption> </BooleanConfiguration>
মনে রাখবেন যে কনফিগারেশন বিকল্পগুলি তাদের ব্যবহারের ক্ষেত্রে নেস্ট করা যাবে না।
বিকল্পভাবে, কনফিগারেশন বিকল্পটি এক্সপ্রেশনগুলিতে ব্যবহার করা যেতে পারে:
<Expressions> <Expression name="my_expression"> <!-- Use show_date as part of a more complex evaluation --> <![CDATA[[CONFIGURATION.show_date] == "TRUE" && [HOUR_0_23] < 15]] </Expression> </Expressions> <Compare expression="my_expression"> <!-- Content goes here --> </Compare> </Condition>
তালিকার বিকল্পগুলি
তালিকার বিকল্পগুলি বুলিয়ান বিকল্পগুলির মতোই কাজ করে। উদাহরণস্বরূপ, ব্যবহারকারীর পছন্দের জন্য ব্যাকগ্রাউন্ড চিত্রগুলির একটি তালিকা প্রদান করা:
<!-- Under WatchFace element --> <UserConfigurations> <ListConfiguration id="background_image" displayName="background_image_label" icon="background_option_icon" screenReaderText="background_image_label" defaultValue="0"> <ListOption id="0" displayName="background0_image_label" screenReaderText="background0_image_label" icon="background0_icon" /> <ListOption id="1" displayName="background1_image_label" screenReaderText="background1_image_label" icon="background1_icon" /> ... </ListConfiguration> </UserConfigurations>
বুলিয়ান বিকল্পগুলির মতো, এটি ব্যবহারের আবার দুটি উপায় রয়েছে:
SceneএListConfigurationউপাদান ব্যবহার করা হচ্ছে:<!-- Within the main Scene of the watch face --> <ListConfiguration id="background_image"> <ListOption id="0"> <!-- ...Content for option 0 --> </ListOption> <ListOption id="1"> <!-- ...Content for option 1 --> </ListOption> </ListConfiguration>
বিকল্পভাবে, কনফিগারেশন বিকল্পটি আরও জটিল এক্সপ্রেশনে ব্যবহার করা যেতে পারে:
<Expressions> <Expression name="background_zero_and_something_else"> <!-- Use as part of a more complex evaluation --> <![CDATA[[CONFIGURATION.background_image] == "0" && [HOUR_0_23] < 15]] </Expression> </Expressions> <Compare expression="background_zero_and_something_else"> <!-- Content goes here --> </Compare> </Condition>
রঙিন থিম
ওয়াচ ফেস ফর্ম্যাট আপনাকে ColorConfiguration মাধ্যমে রঙের থিম নির্ধারণ করতে দেয়। ব্যবহারকারীরা ওয়াচ ফেস এডিটর থেকে তাদের পছন্দের থিম নির্বাচন করতে পারেন এবং এই থিমের রঙগুলি আপনার ওয়াচ ফেস সংজ্ঞা জুড়ে প্রদর্শিত হতে পারে।
উদাহরণস্বরূপ, থিমে দুটি এন্ট্রি এবং তিনটি রঙের একটি থিম সংজ্ঞায়িত করতে, একটি ColorConfiguration নিম্নরূপ সংজ্ঞায়িত করুন:
<!-- Under WatchFace element --> <UserConfigurations> <ColorConfiguration id="myThemeColor" displayName="theme_label" defaultValue="0"> <ColorOption id="0" displayName="relaxed_label" colors="#3083dc #f8ffe5 #7dde92" /> <ColorOption id="1" displayName="urban_label" colors="#f4b393 #fc60a8 #7a28cb" /> </ColorConfiguration> </UserConfigurations>
এরপর হেক্সাডেসিমেল রঙের মানের পরিবর্তে এগুলি ডেটা সোর্স হিসেবে ব্যবহার করা যেতে পারে। থিমের প্রথম, দ্বিতীয় বা তৃতীয় উপাদান নির্বাচন করার জন্য সূচকের মান কীভাবে নির্দিষ্ট করা হয় তা লক্ষ্য করুন:
<AnalogClock x="0" y="0" width="450" height="450"> <HourHand resource="hour" x="220" y="55" width="20" height="190" pivotX="0.5" pivotY="0.9210" tintColor="[CONFIGURATION.myThemeColor.0]"/> <MinuteHand resource="minute" x="222" y="30" width="16" height="220" pivotX="0.5" pivotY="0.9" tintColor="[CONFIGURATION.myThemeColor.1]"/> <SecondHand resource="second" x="226" y="20" width="8" height="245" pivotX="0.5" pivotY="0.8571" tintColor="[CONFIGURATION.myThemeColor.2]"/> </AnalogClock>
যে ক্ষেত্রে প্রতিটি ColorOption শুধুমাত্র একটি রঙ সংজ্ঞায়িত করা থাকে, সেখানে সূচী ছাড়াই এটিকে CONFIGURATION.myThemeColor হিসাবে উল্লেখ করা সম্ভব। ব্যবহারকারী তারপর ওয়াচফেস এডিটরে তাদের পছন্দের থিম এন্ট্রি নির্বাচন করতে পারেন।
স্বাদ
দ্রষ্টব্য : ওয়াচ ফেস ফর্ম্যাটের ২য় এবং উচ্চতর সংস্করণে ফ্লেভারগুলি সমর্থিত।
UserConfigurations ব্যবহারকারীকে অনেক নমনীয়তা প্রদান করে, কিন্তু আপনি যত বেশি কনফিগারেশন উপাদান নির্ধারণ করেন, ততই সংমিশ্রণের সংখ্যা অপ্রতিরোধ্যভাবে বৃদ্ধি পেতে পারে।
Flavors আপনাকে UserConfigurations এর জন্য প্রিসেটগুলি সংজ্ঞায়িত করতে দেয় যা আপনার মনে হয় হাইলাইট করার যোগ্য।
ব্যবহারকারী এরপর কম্প্যানিয়ন অ্যাপের মধ্যে এই প্রিসেট ফ্লেভারগুলি থেকে নির্বাচন করতে পারেন, অথবা প্রতিটি কনফিগারেশন মান পৃথকভাবে নির্বাচন করা চালিয়ে যেতে পারেন।
উদাহরণস্বরূপ, একটি ওয়াচফেস বিবেচনা করুন যেখানে আপনি তিনটি সেটিংস সংজ্ঞায়িত করেন:
- একটি রঙের থিম কনফিগারেশন, যা ব্যবহারকারীকে কোন রঙের থিম প্রয়োগ করতে হবে তা নির্বাচন করার অনুমতি দেয়। আপনি দুটি থিম সংজ্ঞায়িত করেছেন, একটি রঙিন এবং একটি একরঙা।
- ব্যাকগ্রাউন্ডের একটি তালিকা। আপনি দুটি বিকল্প নির্ধারণ করেছেন যেগুলি থেকে ব্যবহারকারীরা নির্বাচন করতে পারবেন।
- ওয়াচফেসে ব্যবহারকারীর হৃদস্পন্দন দেখানো হবে কিনা তার একটি পছন্দ।
তাছাড়া, আপনার ওয়াচফেসে একটি ComplicationSlot আছে।
আপনি সিদ্ধান্ত নিন যে ব্যবহারকারীর সামনে দুটি Flavors হাইলাইট করতে চান। এই সমস্ত সেটিংসের আরও অনেক সম্ভাব্য সমন্বয় রয়েছে, তবে আপনার মনে হয় এগুলি সবচেয়ে ভালো কাজ করবে:
- একটি খেলাধুলাপ্রিয় স্বাদ : এতে থাকবে:
- উজ্জ্বল রঙের থিম, আপনাকে উজ্জীবিত করতে এবং সক্রিয় রাখতে (আইডি: 0)
- প্রথম পটভূমির ছবি (আইডি: ০)
- রেফারেন্সের জন্য ওয়াচফেসে হার্ট রেট দেখাচ্ছে
- জটিলতার স্লট যেখানে ধাপের সংখ্যা দেখানো হচ্ছে
- একটি উন্নত স্বাদ : এতে থাকবে:
- যেকোনো পোশাকের সাথে মানানসই একরঙা রঙের থিম (আইডি: ১)
- দ্বিতীয় পটভূমির ছবি (আইডি: ১)
- ওয়াচফেসে কোনও হৃদস্পন্দন দেখা যাচ্ছে না
- জটিলতা স্লট সক্রিয় করা হয়নি
ফ্লেভারের জন্য watch_face_info.xml এ সক্রিয় করা প্রয়োজন, তাই watch_face_info.xml ফাইলে FlavorsSupported এলিমেন্টটি value="true" দিয়ে সেট করা উচিত।
প্রতিটি ফ্লেভার UserConfigurations মধ্যে নিম্নরূপ সংজ্ঞায়িত করা হয়েছে:
<!-- Under UserConfigurations --> <Flavors defaultValue="sporty_flavor"> <Flavor id="sporty_flavor" displayName="flavor_sporty_label" screenReaderText="flavor_sporty_label"> <Configuration id="theme_color" optionId="0"/> <Configuration id="background_image" optionId="0"/> <Configuration id="show_hr" optionId="TRUE"/> <ComplicationSlot slotId="0"> <DefaultProviderPolicy defaultSystemProvider="STEP_COUNT" defaultSystemProviderType="SHORT_TEXT"/> </ComplicationSlot> </Flavor> <Flavor id="sophisticated_flavor" displayName="flavor_sophisticated_label" screenReaderText="flavor_sophisticated_label"> <Configuration id="theme_color" optionId="1"/> <Configuration id="background_image" optionId="1"/> <Configuration id="show_hr" optionId="FALSE"/> <ComplicationSlot slotId="0"> <!-- Type here is set to empty to demonstrate how to hide a complication slot in Flavors. --> <DefaultProviderPolicy defaultSystemProvider="SUNRISE_SUNSET" defaultSystemProviderType="EMPTY"/> </ComplicationSlot> </Flavor> </Flavors>