হোম স্ক্রিন কাস্টমাইজ করার ক্ষেত্রে উইজেট একটি গুরুত্বপূর্ণ বিষয়। আপনি এগুলিকে অ্যাপের সবচেয়ে গুরুত্বপূর্ণ ডেটা ও কার্যকারিতার "এক ঝলকে" ভিউ হিসেবে ভাবতে পারেন যা ব্যবহারকারীর হোম স্ক্রিন থেকে সরাসরি অ্যাক্সেস করা যায়। ব্যবহারকারীরা তাদের হোম স্ক্রিন প্যানেল জুড়ে উইজেট সরাতে পারেন এবং, যদি কাজ করে, তাদের পছন্দ অনুযায়ী উইজেটে তথ্যের পরিমাণ কাস্টমাইজ করতে সেগুলির সাইজ পরিবর্তন করতে পারেন।
এই ডকুমেন্টেশন আপনাকে বিভিন্ন ধরনের উইজেট সম্পর্কে জানায় যা আপনি তৈরি করতে পারেন এবং ডিজাইন সংক্রান্ত নীতি অনুসরণ করতে পারেন। রিমোট ভিউ API এবং XML লেআউট ব্যবহার করে অ্যাপ উইজেট তৈরি করতে, একটি বেসিক উইজেট তৈরি করুন দেখুন। Kotlin এবং Compose স্টাইল API ব্যবহার করে উইজেট তৈরি করতে, Jetpack Glance দেখুন।
উইজেটের ধরন
আপনার উইজেট প্ল্যান করার সময়, আপনি কী ধরনের উইজেট তৈরি করতে চান তা ভেবে দেখুন। উইজেট সাধারণত নিম্নলিখিত বিভাগগুলির মধ্যে একটির মধ্যে পড়ে:
তথ্য সংক্রান্ত উইজেট
তথ্য সংক্রান্ত উইজেট সাধারণত গুরুত্বপূর্ণ তথ্য সংক্রান্ত এলিমেন্ট দেখায় এবং সময়ের সাথে সাথে সেই তথ্য কীভাবে পরিবর্তিত হয় তা ট্র্যাক করে। তথ্য সংক্রান্ত উইজেটের উদাহরণ হল আবহাওয়া উইজেট, ঘড়ি উইজেট বা স্পোর্টস স্কোর ট্র্যাকিং উইজেট। তথ্য সংক্রান্ত উইজেটে ট্যাপ করলে, সাধারণত সংশ্লিষ্ট অ্যাপ চালু হয় এবং উইজেটের তথ্যের বিস্তারিত ভিউ খুলে যায়।
কালেকশন উইজেট
কালেকশন উইজেট একই ধরনের একাধিক এলিমেন্ট দেখানোর জন্য বিশেষভাবে তৈরি করা হয়েছে, যেমন, গ্যালারি অ্যাপ থেকে ছবির কালেকশন, নিউজ অ্যাপ থেকে নিবন্ধের কালেকশন অথবা কমিউনিকেশন অ্যাপ থেকে ইমেল বা মেসেজের কালেকশন। কালেকশন উইজেট উল্লম্বভাবে স্ক্রল করা যায়।
কালেকশন উইজেট সাধারণত নিম্নলিখিত ব্যবহারের ক্ষেত্রে ফোকাস করে:
- সংগ্রহ ব্রাউজ করা হচ্ছে।
- সংশ্লিষ্ট অ্যাপে বিস্তারিত ভিউতে কালেকশনের একটি এলিমেন্ট খোলা।
- এলিমেন্টের সাথে ইন্টার্যাক্ট করা, যেমন সেগুলিকে সম্পূর্ণ হিসেবে চিহ্নিত করা—Android 12 (API লেভেল 31)-এ কম্পাউন্ড বোতামের জন্য সহায়তা সহ।
উইজেট কন্ট্রোল করুন
কন্ট্রোল উইজেটের মূল উদ্দেশ্য হল ঘন ঘন ব্যবহৃত ফাংশনগুলি দেখানো যাতে ব্যবহারকারী অ্যাপ না খুলেই হোম স্ক্রিন থেকে সেগুলি ট্রিগার করতে পারেন। আপনি এগুলিকে কোনও অ্যাপের রিমোট কন্ট্রোল হিসেবে ভাবতে পারেন। কন্ট্রোল উইজেটের একটি উদাহরণ হল হোম কন্ট্রোল উইজেট যা ব্যবহারকারীদের বাড়ির আলো চালু বা বন্ধ করতে দেয়।
কন্ট্রোল উইজেটের সাথে ইন্টার্যাক্ট করলে অ্যাপে সংশ্লিষ্ট বিস্তারিত ভিউ খুলতে পারে। এটি নির্ভর করে কন্ট্রোল উইজেটের ফাংশন কোনও ডেটা আউটপুট করে কিনা তার উপর, যেমন সার্চ উইজেটের ক্ষেত্রে।
হাইব্রিড উইজেট
কিছু উইজেট পূর্ববর্তী বিভাগে উল্লিখিত প্রকারগুলির মধ্যে একটিকে উপস্থাপন করে—তথ্য, সংগ্রহ বা নিয়ন্ত্রণ—অনেক উইজেট হল হাইব্রিড যা বিভিন্ন প্রকারের উপাদানগুলিকে একত্রিত করে। যেমন, মিউজিক প্লেয়ার উইজেট মূলত একটি কন্ট্রোল উইজেট, তবে এটি ব্যবহারকারীকে বর্তমানে কোন ট্র্যাক চলছে তাও দেখায়, যেমন একটি তথ্য উইজেট।
আপনার উইজেট প্ল্যান করার সময়, বেস টাইপের কোনও একটির উপর ভিত্তি করে ডিজাইন করুন এবং প্রয়োজন অনুযায়ী অন্যান্য টাইপের এলিমেন্ট যোগ করুন।
Google Assistant-এর সাথে উইজেট ইন্টিগ্রেট করা
ব্যবহারকারীর ভয়েস কমান্ডের উত্তরে Google Assistant যেকোনও ধরনের উইজেট দেখাতে পারে। আপনি অ্যাপ অ্যাকশন পূরণ করার জন্য আপনার উইজেট কনফিগার করতে পারেন, যার ফলে ব্যবহারকারীরা Android এবং Android Auto-এর মতো Assistant সারফেসে দ্রুত উত্তর এবং ইন্টার্যাক্টিভ অ্যাপ অভিজ্ঞতা পেতে পারেন। Assistant-এর জন্য উইজেট ফুলফিলমেন্ট সম্পর্কে আরও জানতে, Android উইজেটের সাথে অ্যাপ অ্যাকশন ইন্টিগ্রেট করুন দেখুন।
উইজেটের সীমাবদ্ধতা
উইজেটকে "মিনি অ্যাপ" হিসেবে বোঝা গেলেও, কিছু সীমাবদ্ধতা আছে যা আপনার উইজেট ডিজাইন করার আগে বোঝা গুরুত্বপূর্ণ।
জেসচার
যেহেতু উইজেট হোম স্ক্রিনে থাকে, তাই সেখানে আগে থেকে থাকা নেভিগেশনের সাথে সেটিকে সহাবস্থান করতে হয়। এটি ফুল-স্ক্রিন অ্যাপের তুলনায় উইজেটে উপলভ্য জেসচার সংক্রান্ত সহায়তা সীমিত করে। অ্যাপ ব্যবহারকারীদের অনুভূমিকভাবে স্ক্রিনের মধ্যে নেভিগেট করার সুবিধা দিলেও, হোম স্ক্রিনের মধ্যে নেভিগেট করার জন্য হোম স্ক্রিনে এই জেসচার আগে থেকেই ব্যবহার করা হয়।
উইজেটের জন্য উপলভ্য একমাত্র জেসচার হল টাচ এবং ভার্টিক্যাল সোয়াইপ।
এলিমেন্ট
উইজেটের জন্য উপলভ্য জেসচারের সীমাবদ্ধতার কারণে, কিছু UI বিল্ডিং ব্লক যা সীমাবদ্ধ জেসচারের উপর নির্ভর করে সেগুলি উইজেটের জন্য উপলভ্য নয়। কাজ করে এমন বিল্ডিং ব্লকের সম্পূর্ণ তালিকা এবং লেআউট সংক্রান্ত বিধিনিষেধের ব্যাপারে আরও তথ্যের জন্য, উইজেট লেআউট তৈরি করুন এবং ফ্লেক্সিবল উইজেট লেআউট প্রদান করুন দেখুন।
ডিজাইন সংক্রান্ত নির্দেশিকা
হোম স্ক্রিনে আকর্ষণীয়, ফ্লেক্সিবল ও সামঞ্জস্যপূর্ণ উইজেট অভিজ্ঞতা তৈরি করতে এই ডিজাইন সংক্রান্ত নির্দেশিকা অনুসরণ করুন।
উইজেট কন্টেন্ট
আপনার অ্যাপে উপলভ্য নতুন ও আকর্ষণীয় কন্টেন্ট "বিজ্ঞাপন" করার মাধ্যমে ব্যবহারকারীকে আপনার অ্যাপের প্রতি আকৃষ্ট করার একটি দুর্দান্ত উপায় হল উইজেট।
সংবাদপত্রের প্রথম পৃষ্ঠার টিজারের মতোই, উইজেট কোনও অ্যাপের তথ্য একত্রিত ও সংক্ষিপ্ত করে এবং অ্যাপের মধ্যে আরও সমৃদ্ধ বিবরণের সাথে সংযোগ প্রদান করে। আপনি বলতে পারেন যে উইজেট হল তথ্যের "স্ন্যাক" এবং অ্যাপটি হল "খাবার"। উইজেট যা দেখায় তার চেয়ে আপনার অ্যাপ যেন কোনও তথ্য আইটেম সম্পর্কে আরও বিবরণ দেখায় তা নিশ্চিত করুন।
উইজেট নেভিগেশন
শুধু তথ্য প্রদানকারী কন্টেন্ট ছাড়াও, আপনার উইজেট যাতে অ্যাপের ঘন ঘন ব্যবহার করা অংশে নেভিগেশন লিঙ্ক প্রদান করে তা বিবেচনা করুন। এটি ব্যবহারকারীদের আরও দ্রুত টাস্ক সম্পূর্ণ করতে দেয় এবং হোম স্ক্রিনে অ্যাপের ফাংশনাল রিচ বাড়ায়।
উইজেটে নেভিগেশন লিঙ্কের জন্য উপযুক্ত প্রার্থী হল:
জেনারেটিভ ফাংশন: এই ফাংশনগুলি ব্যবহারকারীকে কোনও অ্যাপের জন্য নতুন কন্টেন্ট তৈরি করতে দেয়, যেমন নতুন ডকুমেন্ট বা নতুন মেসেজ তৈরি করা।
অ্যাপটি টপ লেভেলে খুলুন: সাধারণত কোনও তথ্য এলিমেন্টে ট্যাপ করলে ব্যবহারকারীকে লোয়ার-লেভেল ডিটেল স্ক্রিনে নিয়ে যায়। আপনার অ্যাপ্লিকেশনের টপ লেভেলে অ্যাক্সেস প্রদান করলে তা আরও বেশি নেভিগেশন ফ্লেক্সিবিলিটি অফার করে এবং একটি ডেডিকেটেড অ্যাপ শর্টকাটকে রিপ্লেস করতে পারে যা ব্যবহারকারীরা অন্যথায় হোম স্ক্রিন থেকে অ্যাপে নেভিগেট করার জন্য ব্যবহার করেন। এই কার্যকারিতার জন্য আপনার অ্যাপ্লিকেশন আইকন ব্যবহার করলে আপনার উইজেটকে একটি স্পষ্ট পরিচয় প্রদান করতে পারে যদি আপনার দেখানো ডেটা অস্পষ্ট হয়।
উইজেটের সাইজ পরিবর্তন করা
ছোট বড় করা যায় এমন উইজেট টাচ করে ধরে রেখে ছেড়ে দিলে উইজেটটি ছোট বড় করার মোডে চলে যায়। ব্যবহারকারীরা টেনে আনার হ্যান্ডেল বা উইজেটের কোণ ব্যবহার করে তাদের পছন্দের সাইজ সেট করতে পারবেন।
ছোট বড় করার মাধ্যমে ব্যবহারকারীরা হোম স্ক্রিন প্লেসমেন্ট গ্রিডের সীমাবদ্ধতার মধ্যে উইজেটের উচ্চতা এবং প্রস্থ অ্যাডজাস্ট করতে পারেন। আপনার উইজেট অবাধে ছোট বড় করা যাবে নাকি অনুভূমিক বা উল্লম্ব সাইজ পরিবর্তনের মধ্যে সীমাবদ্ধ থাকবে তা আপনি সিদ্ধান্ত নিতে পারবেন। আপনার উইজেট যদি সহজাতভাবে নির্দিষ্ট আকারের হয়, তাহলে আপনাকে ছোট বড় করার সুবিধা দিতে হবে না।
ব্যবহারকারীদের উইজেট ছোট বড় করার সুবিধা দেওয়ার গুরুত্বপূর্ণ সুবিধা রয়েছে:
- প্রতিটি উইজেটে তারা কতটা তথ্য দেখতে চান তা ফাইন-টিউন করতে পারবেন।
- তারা তাদের হোম প্যানেলে উইজেট এবং শর্টকাটের লেআউট আরও ভালোভাবে প্রভাবিত করতে পারে।
আপনি যে ধরনের উইজেট তৈরি করছেন সেই অনুযায়ী উইজেটের সাইজ ছোট-বড় করার কৌশল পরিকল্পনা করুন। তালিকা বা গ্রিড-ভিত্তিক সংগ্রহ উইজেটগুলি সাধারণত সহজ হয়, কারণ উইজেটের আকার পরিবর্তন করলে উল্লম্ব স্ক্রোলিং এরিয়া প্রসারিত বা সংকুচিত হয়। উইজেটের সাইজ যাই হোক না কেন, ব্যবহারকারী এখনও সমস্ত তথ্য স্ক্রল করতে পারেন ভিউতে উপাদান।
তথ্য সংক্রান্ত উইজেটের জন্য আরও সুনির্দিষ্ট পরিকল্পনা প্রয়োজন, কারণ সেগুলি স্ক্রোল করা যায় না এবং সমস্ত কন্টেন্ট একটি নির্দিষ্ট আকারের মধ্যে ফিট করতে হয়। ব্যবহারকারী ছোট বড় করার অপারেশনের মাধ্যমে যে সাইজ নির্ধারণ করেন, সেই সাইজ অনুযায়ী আপনাকে ডায়নামিকভাবে উইজেটের কন্টেন্ট ও লেআউট অ্যাডজাস্ট করতে হবে।
নিচের উদাহরণে, ব্যবহারকারী তিনটি ধাপে আবহাওয়ার উইজেটের সাইজ ছোট বড় করতে পারবেন, উইজেটের সাইজ বড় হওয়ার সাথে সাথে বর্তমান লোকেশনের আবহাওয়া সম্পর্কে আরও তথ্য দেখানো হবে।
প্রতিটি উইজেটের সাইজের জন্য, আপনার অ্যাপের কতটা তথ্য দেখানো হবে তা নির্ধারণ করুন। ছোট সাইজের জন্য, প্রয়োজনীয় তথ্যের উপর ফোকাস করুন এবং তারপর উইজেট অনুভূমিক ও উল্লম্বভাবে বড় হওয়ার সাথে সাথে প্রাসঙ্গিক তথ্য যোগ করুন।
লেআউট সংক্রান্ত বিবেচনা
আপনি যে ডিভাইসের জন্য ডেভেলপ করছেন, তার প্লেসমেন্ট গ্রিডের ডাইমেনশন অনুযায়ী উইজেট লে-আউট করার ইচ্ছা হতেই পারে। এটি একটি প্রাথমিক আনুমানিক হিসেব হিসেবে উপযোগী হতে পারে, তবে নিম্নলিখিত পয়েন্টগুলি মনে রাখবেন:
- পরিবর্তনশীল গ্রিড ডাইমেনশনের পরিবর্তে "সাইজ বাকেট" জুড়ে আপনার উইজেটের সাইজ পরিবর্তন করার কৌশল পরিকল্পনা করলে আপনি সবচেয়ে নির্ভরযোগ্য ফলাফল পাবেন।
- ডিভাইস অনুযায়ী সেলের সংখ্যা, সাইজ ও স্পেসিংয়ের মধ্যে অনেক পার্থক্য থাকতে পারে। তাই, আপনার উইজেট যাতে ফ্লেক্সিবল হয় এবং প্রত্যাশার চেয়ে কম বা বেশি জায়গা নিতে পারে তা নিশ্চিত করা খুবই গুরুত্বপূর্ণ।
- ব্যবহারকারী কোনও উইজেটের সাইজ পরিবর্তন করলে, সিস্টেম একটি ডিপি সাইজ রেঞ্জ সহ রেসপন্স করে যার মধ্যে আপনার উইজেট নিজেকে আবার আঁকতে পারে।
- Android ১২ থেকে শুরু করে, আপনি আরও রিফাইন করা সাইজ অ্যাট্রিবিউট এবং আরও ফ্লেক্সিবল লেআউট প্রদান করতে পারবেন। এর মধ্যে এগুলি অন্তর্ভুক্ত থাকে:
- উইজেটের সাইজ সংক্রান্ত সীমাবদ্ধতা উল্লেখ করা। যেমন, আপনি নিজের উইজেটের জন্য টার্গেট সাইজ—গ্রিড সেলে—এবং সেইসাথে সম্ভাব্য সর্বাধিক সাইজ নির্দিষ্ট করতে পারেন।
- রেসপন্সিভ লেআউট প্রদান করা, যা উইজেটের সাইজের উপর নির্ভর করে পরিবর্তিত হয়।
- সঠিক-সাইজের লেআউট প্রদান করা, যা লঞ্চারকে ফোনের জন্য পোর্ট্রেট এবং ল্যান্ডস্কেপ মোডের সাইজ বিকল্পের সাথে অথবা ফোল্ডেবলের জন্য চারটি সাইজের সাথে প্রতিক্রিয়া জানাতে দেয়।
- আপনার উইজেটের জন্য সঠিক সাইজ নির্ধারণ করতে আপডেট করা নির্দেশিকা এবং নতুন API ব্যবহার করা।
ব্যবহারকারীর দ্বারা উইজেট কনফিগারেশন
কখনও কখনও, ব্যবহারকারীকে উইজেট সেট-আপ করতে হয় যাতে সেটি কার্যকর হয়। একটি ইমেল উইজেটের কথা ভাবুন যেখানে ইনবক্স দেখানোর আগে ব্যবহারকারীকে মেল ফোল্ডার বেছে নিতে হয় অথবা একটি স্ট্যাটিক ফটো উইজেট যেখানে ব্যবহারকারীকে দেখানোর জন্য গ্যালারি থেকে একটি ছবি অ্যাসাইন করতে হয়। ব্যবহারকারী হোম স্ক্রিনে উইজেট ড্রপ করার ঠিক পরেই Android উইজেট তার কনফিগারেশন সংক্রান্ত পছন্দ দেখায়।
উইজেট ডিজাইন চেকলিস্ট
- আপনার উইজেটে এক ঝলকে দেখে নেওয়া যায় এমন তথ্যের ছোট অংশে ফোকাস করুন। আপনার অ্যাপে থাকা তথ্য আরও বিস্তারিতভাবে দেখান।
- আপনার উদ্দেশ্যের জন্য সঠিক উইজেটের ধরন বেছে নিন।
- আপনার উইজেটের কন্টেন্ট কীভাবে বিভিন্ন সাইজের সাথে মানিয়ে নেবে তা প্ল্যান করুন।
- আপনার উইজেট লেআউট যাতে স্ট্রেচ ও কন্ট্র্যাক্ট করতে পারে তা নিশ্চিত করার মাধ্যমে সেটিকে ওরিয়েন্টেশন ও ডিভাইস থেকে স্বাধীন করুন।
- আপনার উইজেটের জন্য কোনও অতিরিক্ত কনফিগারেশন প্রয়োজন কিনা তা বিবেচনা করুন।