এই কোডল্যাবটি অ্যান্ড্রয়েড কোটলিন ফান্ডামেন্টাল কোর্সের অংশ। আপনি যদি ক্রমানুসারে কোডল্যাবগুলির মাধ্যমে কাজ করেন তবে আপনি এই কোর্সের সর্বাধিক মূল্য পাবেন৷ সমস্ত কোর্স কোডল্যাব অ্যান্ড্রয়েড কোটলিন ফান্ডামেন্টাল কোডল্যাব ল্যান্ডিং পৃষ্ঠায় তালিকাভুক্ত করা হয়েছে।
নকশা পরিচিতি
কোডল্যাবগুলির এই সিরিজের ফোকাস অ্যান্ড্রয়েড ডেভেলপমেন্ট, অ্যাপ ডিজাইনের অন্যতম গুরুত্বপূর্ণ দিক। অ্যাপ ডিজাইনের সুস্পষ্ট দিকগুলি হল ভিউ, টেক্সট এবং বোতাম এবং সেগুলি স্ক্রিনে কোথায় রয়েছে, সেইসাথে তারা যে রঙ এবং ফন্ট ব্যবহার করে। পরবর্তীতে কী করতে হবে সে সম্পর্কে ব্যবহারকারীকে ইঙ্গিত দেওয়াও ডিজাইনের একটি অপরিহার্য দিক। ব্যবহারকারীদের এক নজরে বলতে সক্ষম হতে হবে যে তারা কী দেখছে, কী গুরুত্বপূর্ণ এবং তারা কী করতে পারে।
নীচের দুটি পর্দা তুলনা. লক্ষ্য করুন যে উপাদানগুলিকে চারপাশে স্থানান্তরিত করে এবং গুরুত্বপূর্ণ বিষয়গুলিতে ফোকাস করে, আপনি ব্যবহারকারীকে কী ঘটছে তা বুঝতে সাহায্য করতে পারেন৷ সাধারণ পর্দার জন্য, ভাল ডিজাইনের অর্থ প্রায়ই কম দেখানো। অনেক গুরুত্বপূর্ণ তথ্য সহ স্ক্রীনের জন্য, ভাল ডিজাইন ঘন তথ্যকে এক নজরে বোধগম্য করে তোলে। আপনি অ্যান্ড্রয়েড অ্যাপে কাজ করার সময় আপনি তথ্য আর্কিটেকচার (IA) নামক এই ধারণাটি শুনতে পাবেন।
ডিজাইনের আরেকটি স্তর হল সুসংগত ব্যবহারকারীর প্রবাহ তৈরি করা বা কেস ব্যবহার করা , যা ব্যবহারকারীদের কাজগুলি সম্পন্ন করতে দেয়। ডিজাইনের এই ফর্মটিকে ব্যবহারকারীর অভিজ্ঞতা ডিজাইন (UXD) বলা হয় এবং কিছু ডিজাইনার এতে বিশেষজ্ঞ।
|
|
আপনার যদি কোনও ডিজাইনারের অ্যাক্সেস না থাকে তবে শুরু করার জন্য এখানে কয়েকটি টিপস রয়েছে:
- ব্যবহারের ক্ষেত্রে সংজ্ঞায়িত করুন। ব্যবহারকারীদের আপনার অ্যাপের মাধ্যমে কী করা উচিত এবং কীভাবে তা লিখুন।
- একটি নকশা বাস্তবায়ন. আপনার প্রথম খসড়ার সাথে সংযুক্ত হবেন না, এবং এটিকে শুধুমাত্র "যথেষ্ট ভাল" করুন, কারণ বাস্তব ব্যবহারকারীরা কীভাবে এটির সাথে ইন্টারঅ্যাক্ট করে তা দেখার পরে আপনি এটি পরিবর্তন করবেন৷
- প্রতিক্রিয়া পান. আপনার অ্যাপের পরীক্ষা করার জন্য আপনি কথা বলতে পারেন এমন কাউকে খুঁজুন—আপনার পরিবার, বন্ধুবান্ধব, এমনকি যাদের সাথে আপনি এইমাত্র একটি Google বিকাশকারী গ্রুপে দেখা করেছেন। আপনি যখন দেখবেন এবং বিস্তারিত নোট নেবেন তখন তাদের একটি ব্যবহারের ক্ষেত্রে আপনার অ্যাপ ব্যবহার করতে বলুন।
- পরিমার্জিত ! সেই সমস্ত তথ্য দিয়ে, অ্যাপটিকে আরও ভাল করে তুলুন এবং তারপরে আবার পরীক্ষা করুন৷
একটি দুর্দান্ত অ্যাপ অভিজ্ঞতা ডিজাইন করার সময় নিজেকে জিজ্ঞাসা করার জন্য এখানে কিছু অন্যান্য প্রশ্ন রয়েছে৷ আপনি পূর্ববর্তী কোডল্যাবগুলিতে এই সমস্যাগুলি মোকাবেলার কৌশলগুলি শিখেছেন:
- ব্যবহারকারী যখন তাদের ডিভাইস ঘোরায় তখন কি অ্যাপটি তার অবস্থা হারায়?
- ব্যবহারকারী অ্যাপটি খুললে কী হবে? ব্যবহারকারী কি লোডিং স্পিনার দেখতে পাচ্ছেন, নাকি অফলাইন ক্যাশে ডেটা প্রস্তুত আছে?
- অ্যাপটি কি এমনভাবে কোড করা হয়েছে যা দক্ষ এবং নিশ্চিত করে যে অ্যাপটি সর্বদা ব্যবহারকারীর স্পর্শে প্রতিক্রিয়াশীল?
- অ্যাপটি কি ব্যাকএন্ড সিস্টেমের সাথে এমনভাবে ইন্টারঅ্যাক্ট করে যা ব্যবহারকারীর কাছে কখনও বিজোড়, ভুল বা পুরানো ডেটা উপস্থাপন করে না?
আপনি যখন বৃহত্তর দর্শকদের জন্য অ্যাপ্লিকেশানগুলিতে কাজ করেন, আপনার অ্যাপ্লিকেশানগুলিকে যতটা সম্ভব অনেক ধরণের ব্যবহারকারীর কাছে অ্যাক্সেসযোগ্য করে তোলা অপরিহার্য৷ যেমন:
- অনেক ব্যবহারকারী বিভিন্ন উপায়ে কম্পিউটার সিস্টেমের সাথে যোগাযোগ করে। অনেক ব্যবহারকারীই বর্ণান্ধ, এবং এক ব্যবহারকারীর জন্য বৈপরীত্য অন্যের জন্য কাজ নাও করতে পারে। অনেক ব্যবহারকারীর দৃষ্টি প্রতিবন্ধকতা রয়েছে, অন্ধত্বের মাধ্যমে চশমা পড়ার প্রয়োজন।
- কিছু ব্যবহারকারী টাচ স্ক্রিন ব্যবহার করতে পারে না এবং তারা অন্যান্য ইনপুট ডিভাইস যেমন বোতামের মাধ্যমে ইন্টারঅ্যাক্ট করে।
ব্যবহারকারীদের আপনার অ্যাপ ব্যবহার করার সবচেয়ে গুরুত্বপূর্ণ উপায় হল ভালো ডিজাইন।
এই কোডল্যাবগুলি আপনাকে অ্যান্ড্রয়েডের জন্য ডিজাইন সম্পর্কে সবকিছু শেখানোর জন্য খুব ছোট, কিন্তু তারা আপনাকে একটি ভাল দিক দিয়ে শুরু করবে এবং আপনি নিজেরাই শিখতে এবং বিকাশ চালিয়ে যেতে পারেন৷
আপনি ইতিমধ্যে কি জানা উচিত
আপনার সাথে পরিচিত হওয়া উচিত:
- ক্রিয়াকলাপ এবং টুকরোগুলি সহ অ্যাপগুলি কীভাবে তৈরি করবেন এবং ডেটা পাস করার টুকরোগুলির মধ্যে নেভিগেট করবেন৷
-
RecyclerViewসহ একটি ইউজার ইন্টারফেস (UI) লেআউট করতে ভিউ এবং ভিউ গ্রুপ ব্যবহার করা - একটি সুগঠিত এবং দক্ষ অ্যাপ তৈরি করতে প্রস্তাবিত আর্কিটেকচার সহ
ViewModelসহ আর্কিটেকচার উপাদানগুলি কীভাবে ব্যবহার করবেন - ডেটা বাইন্ডিং, কোরোটিন এবং ক্লিকগুলি কীভাবে পরিচালনা করতে হয়
- একটি
Roomডাটাবেস ব্যবহার করে কীভাবে ইন্টারনেটের সাথে সংযোগ এবং স্থানীয়ভাবে ডেটা ক্যাশে করবেন - ভিউ প্রপার্টি কিভাবে সেট করবেন
- কিভাবে এক্সএমএল রিসোর্স ফাইল থেকে রিসোর্স বের করা যায় এবং রিসোর্স ব্যবহার করা যায়
আপনি কি শিখবেন
- অ্যান্ড্রয়েডের স্টাইলিং সিস্টেমের মৌলিক বিষয়
- আপনার অ্যাপ কাস্টমাইজ করতে বৈশিষ্ট্য, শৈলী এবং থিমগুলি কীভাবে ব্যবহার করবেন
আপনি কি করবেন
- ভিউ অ্যাট্রিবিউট, স্টাইল এবং থিম সহ একটি স্টার্টার অ্যাপের ডিজাইন উন্নত করুন
GDG-ফাইন্ডার স্টার্টার অ্যাপটি এই কোর্সে আপনি এখন পর্যন্ত যা শিখেছেন তার উপর তৈরি করে।
অ্যাপটি তিনটি স্ক্রীন লেআউট করার জন্য ConstraintLayout ব্যবহার করে। দুটি স্ক্রীন শুধুমাত্র লেআউট ফাইল যা আপনি অ্যান্ড্রয়েডে রঙ এবং পাঠ্য অন্বেষণ করতে ব্যবহার করবেন।
তৃতীয় পর্দা একটি GDG সন্ধানকারী. GDGs, বা Google বিকাশকারী গোষ্ঠীগুলি হল ডেভেলপারদের সম্প্রদায় যেগুলি Android সহ Google প্রযুক্তিগুলিতে ফোকাস করে৷ সারা বিশ্বে GDG গুলি মিটআপ, সম্মেলন, অধ্যয়ন জ্যাম এবং অন্যান্য ইভেন্টগুলি হোস্ট করে৷
আপনি এই অ্যাপটি বিকাশ করার সাথে সাথে আপনি GDG-এর আসল তালিকাতে কাজ করেন। ফাইন্ডার স্ক্রীন দূরত্ব অনুসারে GDG গুলি সাজানোর জন্য ডিভাইসের অবস্থান ব্যবহার করে।
আপনি যদি ভাগ্যবান হন এবং আপনার অঞ্চলে একটি GDG থাকে, তাহলে আপনি ওয়েবসাইটটি দেখতে পারেন এবং তাদের ইভেন্টগুলির জন্য সাইন আপ করতে পারেন! GDG ইভেন্টগুলি অন্যান্য Android ডেভেলপারদের সাথে দেখা করার এবং শিল্পের সেরা অনুশীলনগুলি শেখার একটি দুর্দান্ত উপায় যা এই কোর্সের সাথে খাপ খায় না৷
নীচের স্ক্রিনশটগুলি দেখায় যে কীভাবে আপনার অ্যাপ এই কোডল্যাবের শুরু থেকে শেষ পর্যন্ত পরিবর্তিত হবে।
|
|
অ্যান্ড্রয়েড একটি সমৃদ্ধ স্টাইলিং সিস্টেম সরবরাহ করে যা আপনাকে আপনার অ্যাপের সমস্ত দৃশ্যের উপস্থিতি নিয়ন্ত্রণ করতে দেয়৷ স্টাইলিং প্রভাবিত করতে আপনি থিম, শৈলী এবং বৈশিষ্ট্যগুলি দেখতে পারেন। নীচে দেখানো চিত্রটি স্টাইলিংয়ের প্রতিটি পদ্ধতির অগ্রাধিকারকে সংক্ষিপ্ত করে। পিরামিড ডায়াগ্রামটি নীচের দিক থেকে, সিস্টেম দ্বারা স্টাইলিং পদ্ধতিগুলি যে ক্রমানুসারে প্রয়োগ করা হয় তা দেখায়। উদাহরণস্বরূপ, আপনি যদি থিমে পাঠ্যের আকার সেট করেন এবং তারপরে ভিউ অ্যাট্রিবিউটে টেক্সট সাইজ আলাদাভাবে সেট করেন, তাহলে ভিউ অ্যাট্রিবিউট থিম স্টাইলিংকে ওভাররাইড করবে।

বৈশিষ্ট্য দেখুন
- প্রতিটি দৃশ্যের জন্য স্পষ্টভাবে বৈশিষ্ট্য সেট করতে ভিউ অ্যাট্রিবিউট ব্যবহার করুন। (দেখুন বৈশিষ্ট্যগুলি পুনঃব্যবহারযোগ্য নয়, শৈলীগুলির মতো।)
- আপনি শৈলী বা থিমের মাধ্যমে সেট করা যেতে পারে এমন প্রতিটি সম্পত্তি ব্যবহার করতে পারেন।
কাস্টম বা একমুখী ডিজাইনের জন্য ব্যবহার করুন যেমন মার্জিন, প্যাডিং বা সীমাবদ্ধতা।
শৈলী
- পুনঃব্যবহারযোগ্য স্টাইলিং তথ্যের একটি সংগ্রহ তৈরি করতে একটি শৈলী ব্যবহার করুন, যেমন ফন্টের আকার বা রঙ।
- আপনার অ্যাপ জুড়ে ব্যবহৃত সাধারণ ডিজাইনের ছোট সেট ঘোষণা করার জন্য ভাল।
ডিফল্ট শৈলীকে ওভাররাইড করে বেশ কয়েকটি দৃশ্যে একটি শৈলী প্রয়োগ করুন। উদাহরণস্বরূপ, ধারাবাহিকভাবে স্টাইল করা হেডার বা বোতামগুলির একটি সেট তৈরি করতে একটি স্টাইল ব্যবহার করুন।
ডিফল্ট শৈলী
- এটি অ্যান্ড্রয়েড সিস্টেম দ্বারা প্রদত্ত ডিফল্ট স্টাইলিং।
থিম
- আপনার পুরো অ্যাপের রঙ নির্ধারণ করতে একটি থিম ব্যবহার করুন।
- পুরো অ্যাপের জন্য ডিফল্ট ফন্ট সেট করতে একটি থিম ব্যবহার করুন।
- সমস্ত ভিউতে প্রযোজ্য, যেমন টেক্সট ভিউ বা রেডিও বোতাম।
- বৈশিষ্ট্যগুলি কনফিগার করতে ব্যবহার করুন যা আপনি পুরো অ্যাপের জন্য ধারাবাহিকভাবে প্রয়োগ করতে পারেন।
পাঠ্য উপস্থিতি
- শুধুমাত্র টেক্সট অ্যাট্রিবিউট সহ স্টাইল করার জন্য, যেমন
fontFamily।
যখন অ্যান্ড্রয়েড একটি দৃশ্যকে স্টাইল করে, তখন এটি থিম, শৈলী এবং বৈশিষ্ট্যগুলির সমন্বয় প্রয়োগ করে, যা আপনি কাস্টমাইজ করতে পারেন। গুণাবলী সবসময় একটি শৈলী বা থিম নির্দিষ্ট কিছু ওভাররাইট. এবং শৈলী সর্বদা একটি থিমে নির্দিষ্ট করা যেকোনো কিছুকে ওভাররাইট করে।
নীচের স্ক্রিনশটগুলি হালকা থিম (বাম) এবং একটি গাঢ় থিম (ডান) সহ একটি কাস্টম ফন্ট এবং হেডার আকার সহ GDG-ফাইন্ডার অ্যাপটি দেখায়৷ এটি বিভিন্ন উপায়ে প্রয়োগ করা যেতে পারে, এবং আপনি এই কোডল্যাবে তাদের কিছু শিখতে পারেন।
|
|
এই টাস্কে, আপনি অ্যাপ লেআউটের টেক্সটের জন্য স্টাইল হেডারে অ্যাট্রিবিউট ব্যবহার করেন।
- GDG-ফাইন্ডার স্টার্টার অ্যাপ ডাউনলোড করুন এবং চালান।
- লক্ষ্য করুন যে হোম স্ক্রিনে অনেকগুলি অভিন্ন ফর্ম্যাট করা পাঠ্য রয়েছে, যা পৃষ্ঠাটি কী সম্পর্কে এবং কী গুরুত্বপূর্ণ তা বোঝা কঠিন করে তোলে৷
-
home_fragment.xmlলেআউট ফাইলটি খুলুন। - লক্ষ্য করুন যে লেআউটটি একটি
ScrollViewভিতরে উপাদানগুলির অবস্থানের জন্যConstraintLayoutব্যবহার করে। - লক্ষ্য করুন যে প্রতিটি দৃশ্যের জন্য, সীমাবদ্ধতা এবং মার্জিন লেআউট বৈশিষ্ট্যগুলি ভিউতে সেট করা আছে, কারণ এই বৈশিষ্ট্যগুলি প্রতিটি ভিউ এবং স্ক্রিনের জন্য কাস্টমাইজ করা হয়।
-
titleটেক্সট ভিউতে, টেক্সটের সাইজ24spএ পরিবর্তন করতে একটিtextSizeঅ্যাট্রিবিউট যোগ করুন।
একটি অনুস্মারক হিসাবে,spমানে স্কেল-স্বাধীন পিক্সেল , যেগুলি পিক্সেল ঘনত্ব এবং ব্যবহারকারীর ডিভাইস সেটিংসে সেট করা ফন্ট-আকার পছন্দ উভয় দ্বারা স্কেল করা হয়। অ্যান্ড্রয়েড টেক্সট আঁকার সময় স্ক্রিনে কত বড় টেক্সট হওয়া উচিত তা বের করে। পাঠ্য আকারের জন্য সর্বদাspব্যবহার করুন।
<TextView
android:id="@+id/title"
...
android:textSize="24sp"-
#FF555555এর একটি aRGB মান সেট করেtitleপাঠ্য দৃশ্যেরtextColorঅস্বচ্ছ ধূসরে সেট করুন।
<TextView
android:id="@+id/title"
...
android:textColor="#FF555555"- অ্যান্ড্রয়েড স্টুডিওতে পূর্বরূপ ট্যাবটি খুলতে, দেখুন > টুল উইন্ডোজ > পূর্বরূপ নির্বাচন করুন বা লেআউট সম্পাদকের ডান প্রান্তে উল্লম্ব পূর্বরূপ বোতামে ক্লিক করুন। প্রিভিউতে, যাচাই করুন যে শিরোনামটি ধূসর এবং আগের চেয়ে বড়, যেমনটি নীচে দেখানো হয়েছে।

- একটি ছোট ফন্ট,
18spসহ হেডারের মতো একই রঙের জন্য সাবটাইটেলটিকে স্টাইল করুন। (ডিফল্ট আলফা হলFF, অস্বচ্ছ। আপনি যদি আলফা মান পরিবর্তন না করেন তবে আপনি বাদ দিতে পারেন।)
<TextView
android:id="@+id/subtitle"
...
android:textSize="18sp"
android:textColor="#555555"
- এই কোডল্যাবে, লক্ষ্য হল অ্যাপটিকে পেশাদার দেখাতে গিয়ে কিছুটা বাতিকপূর্ণ করার জন্য স্টাইল করা, তবে আপনি এটিকে আপনার ইচ্ছামত স্টাইল করতে পারেন।
subtitleটেক্সট ভিউ জন্য নিম্নলিখিত গুণাবলী চেষ্টা করুন. আপনার অ্যাপের চেহারা কীভাবে পরিবর্তিত হয় তা দেখতে পূর্বরূপ ট্যাবটি ব্যবহার করুন। তারপর এই বৈশিষ্ট্যগুলি সরান।
<TextView
android:id="@+id/subtitle"
...
android:textAllCaps="true"
android:textStyle="bold"
android:background="#ff9999"- আপনি চালিয়ে যাওয়ার আগে
subtitleভিউ থেকেtextAllCaps,textStyle, এবংbackgroundবৈশিষ্ট্যগুলি পূর্বাবস্থায় ফিরিয়ে আনতে ভুলবেন না৷ - আপনার অ্যাপটি চালান, এবং এটি ইতিমধ্যে আরও ভাল দেখা উচিত।

আপনার অ্যাপের সাথে ফন্ট ব্যবহার করার সময়, আপনি আপনার APK এর অংশ হিসাবে প্রয়োজনীয় ফন্ট ফাইল পাঠাতে পারেন। সহজ হলেও, এই সমাধানটি সাধারণত সুপারিশ করা হয় না, কারণ এটি আপনার অ্যাপটিকে ডাউনলোড এবং ইনস্টল করতে বেশি সময় নেয়।
Android অ্যাপগুলিকে ডাউনলোডযোগ্য ফন্ট API ব্যবহার করে রানটাইমে ফন্ট ডাউনলোড করতে দেয়। যদি আপনার অ্যাপটি ডিভাইসে অন্য অ্যাপের মতো একই ফন্ট ব্যবহার করে, তাহলে ডিভাইসের স্টোরেজ স্পেস বাঁচিয়ে Android শুধুমাত্র একবার ফন্টটি ডাউনলোড করে।
এই টাস্কে, আপনি থিম ব্যবহার করে আপনার অ্যাপের প্রতিটি ভিউয়ের ফন্ট সেট করতে ডাউনলোডযোগ্য ফন্ট ব্যবহার করেন।
ধাপ 1: একটি ডাউনলোডযোগ্য ফন্ট প্রয়োগ করুন
- ডিজাইন ট্যাবে
home_fragment.xmlখুলুন। - কম্পোনেন্ট ট্রি প্যানে,
titleটেক্সট ভিউ নির্বাচন করুন। - অ্যাট্রিবিউট প্যানে,
fontFamilyঅ্যাট্রিবিউট খুঁজুন। আপনি এটি সমস্ত বৈশিষ্ট্য বিভাগে খুঁজে পেতে পারেন, অথবা আপনি এটির জন্য অনুসন্ধান করতে পারেন। - ড্রপ-ডাউন তীরটিতে ক্লিক করুন।
- আরও ফন্টে স্ক্রোল করুন এবং এটি নির্বাচন করুন। একটি সম্পদ উইন্ডো খোলে।

- রিসোর্স উইন্ডোতে,
lobsterজন্য অনুসন্ধান করুন, অথবা শুধুlo. - ফলাফলে, লবস্টার টু নির্বাচন করুন।
- ডানদিকে, ফন্ট নামের নীচে, ডাউনলোডযোগ্য ফন্ট তৈরি করুন রেডিও বোতামটি নির্বাচন করুন৷ ওকে ক্লিক করুন।
- অ্যান্ড্রয়েড ম্যানিফেস্ট ফাইলটি খুলুন।
- ম্যানিফেস্টের নীচের দিকে,
"preloaded_fonts"এ সেট করাnameএবংresourceবৈশিষ্ট্য সহ নতুন<meta-data>ট্যাগ খুঁজুন। এই ট্যাগটি Google Play পরিষেবাগুলিকে বলে যে এই অ্যাপটি ডাউনলোড করা ফন্টগুলি ব্যবহার করতে চায়৷ যখন আপনার অ্যাপ চলে এবং লবস্টার টু ফন্টের জন্য অনুরোধ করে, ফন্ট প্রদানকারী ইন্টারনেট থেকে ফন্টটি ডাউনলোড করে, যদি ফন্টটি ডিভাইসে ইতিমধ্যে উপলব্ধ না থাকে।
<meta-data android:name="preloaded_fonts" android:resource="@array/preloaded_fonts"/>-
res/valuesফোল্ডারে,preloaded_fonts.xmlফাইলটি খুঁজুন, যেটি অ্যারেকে সংজ্ঞায়িত করে যা এই অ্যাপের জন্য সমস্ত ডাউনলোডযোগ্য ফন্ট তালিকাভুক্ত করে। - একইভাবে,
res/fonts/lobster_two.xmlফাইলে ফন্ট সম্পর্কে তথ্য রয়েছে। -
home_fragment.xmlখুলুন এবং কোড এবং প্রিভিউতে লক্ষ্য করুন যেTextViewtitleলবস্টার টু ফন্ট প্রয়োগ করা হয়েছে এবং এইভাবে শিরোনামে প্রয়োগ করা হয়েছে।

-
res/values/styles.xmlখুলুন এবং প্রকল্পের জন্য তৈরি করা ডিফল্টAppThemeথিম পরীক্ষা করুন। এটি বর্তমানে নীচে দেখানো হিসাবে দেখায়. সমস্ত পাঠ্যে নতুন লবস্টার টু ফন্ট প্রয়োগ করতে, আপনাকে এই থিমটি আপডেট করতে হবে। -
<style>ট্যাগে,parentঅ্যাট্রিবিউটটি লক্ষ্য করুন। প্রতিটি শৈলী ট্যাগ একটি অভিভাবক নির্দিষ্ট করতে পারে এবং পিতামাতার সমস্ত বৈশিষ্ট্য উত্তরাধিকারী হতে পারে৷ কোডটি Android লাইব্রেরি দ্বারা সংজ্ঞায়িতThemeনির্দিষ্ট করে।MaterialComponentsথিম যা বোতামগুলি কীভাবে কাজ করে তা থেকে টুলবারগুলি কীভাবে আঁকতে হয় তা সব কিছু নির্দিষ্ট করে। থিমটিতে বুদ্ধিমান ডিফল্ট রয়েছে, তাই আপনি যে অংশগুলি চান তা কাস্টমাইজ করতে পারেন। অ্যাপটি অ্যাকশন বার (NoActionBar) ছাড়াই এই থিমেরLightসংস্করণ ব্যবহার করে, যেমনটা আপনি উপরের স্ক্রিনশটে দেখতে পাচ্ছেন।
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.MaterialComponents.Light.NoActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
</style>-
AppThemeস্টাইলের ভিতরে, ফন্ট ফ্যামিলিটিকেlobster_twoএ সেট করুন। আপনাকেandroid:fontFamilyএবংfontFamilyউভয়ই সেট করতে হবে, কারণ মূল থিম উভয়ই ব্যবহার করে। আপনি আপনার পরিবর্তনের পূর্বরূপ দেখতে ডিজাইন ট্যাবেhome_fragment.xmlচেক করতে পারেন।
<style name="AppTheme"
...
<item name="android:fontFamily">@font/lobster_two</item>
<item name="fontFamily">@font/lobster_two</item>- আবার অ্যাপটি চালান। নতুন ফন্ট সব লেখায় লাগানো হয়! নেভিগেশন ড্রয়ারটি খুলুন এবং অন্যান্য স্ক্রিনে যান এবং আপনি দেখতে পাবেন যে ফন্টটি সেখানেও প্রয়োগ করা হয়েছে।
| |
|
|
ধাপ 2: শিরোনামে থিম প্রয়োগ করুন
-
home_fragment.xmlএ,titleটেক্সট ভিউ খুঁজুন, যেটিতেlobster_twoফন্টের বৈশিষ্ট্য রয়েছে।fontFamilyঅ্যাট্রিবিউট মুছুন এবং অ্যাপটি চালান। কারণ থিম একই ফন্ট পরিবার সেট করে, কোন পরিবর্তন নেই। -
titleটেক্সট ভিউতে একটি ভিন্নfontFamilyঅ্যাট্রিবিউট রাখুন:
app:fontFamily="serif-monospace"এটিappস্পেসে আছে তা নিশ্চিত করুন!
<TextView
android:id="@+id/title"
...
app:fontFamily="serif-monospace"- অ্যাপটি চালান, এবং আপনি দেখতে পাচ্ছেন যে ভিউতে স্থানীয় বৈশিষ্ট্যটি থিমটিকে ওভাররাইড করে।

-
titleপাঠ্য দৃশ্য থেকেfontFamilyবৈশিষ্ট্যটি সরান।
থিমগুলি আপনার অ্যাপে সাধারণ থিমিং প্রয়োগ করার জন্য দুর্দান্ত, যেমন একটি ডিফল্ট ফন্ট এবং প্রাথমিক রঙ৷ একটি নির্দিষ্ট দৃশ্য স্টাইল করার জন্য এবং মার্জিন, প্যাডিং এবং সীমাবদ্ধতার মতো লেআউট তথ্য যোগ করার জন্য বৈশিষ্ট্যগুলি দুর্দান্ত, যা প্রতিটি স্ক্রিনের জন্য নির্দিষ্ট হতে থাকে।
শৈলী-শ্রেণীবিন্যাস পিরামিডের মাঝখানে শৈলী রয়েছে। শৈলী হল বৈশিষ্ট্যগুলির পুনঃব্যবহারযোগ্য "গ্রুপ" যা আপনি আপনার পছন্দের দৃশ্যগুলিতে প্রয়োগ করতে পারেন৷ এই টাস্কে, আপনি শিরোনাম এবং সাবটাইটেলের জন্য একটি স্টাইল ব্যবহার করেন।
ধাপ 1: একটি শৈলী তৈরি করুন
-
res/values/styles.xmlখুলুন। -
<resources>ট্যাগের ভিতরে,<style>ট্যাগ ব্যবহার করে একটি নতুন শৈলী সংজ্ঞায়িত করুন, যেমন নীচে দেখানো হয়েছে।
<style name="TextAppearance.Title" parent="TextAppearance.MaterialComponents.Headline6">
</style> শৈলীর নামগুলি যখন আপনি তাদের নাম দেন তখন সেম্যান্টিক হিসাবে চিন্তা করা গুরুত্বপূর্ণ। শৈলীটি কিসের জন্য ব্যবহার করা হবে তার উপর ভিত্তি করে একটি শৈলীর নাম নির্বাচন করুন, স্টাইলটি প্রভাবিত করে এমন বৈশিষ্ট্যগুলির উপর ভিত্তি করে নয়। উদাহরণস্বরূপ, এই শৈলীটিকে Title বলুন, LargeFontInGrey এর মতো কিছু নয়। এই স্টাইলটি আপনার অ্যাপের যেকোনো জায়গায় যেকোনো শিরোনাম দ্বারা ব্যবহার করা হবে। একটি নিয়ম হিসাবে, TextAppearance শৈলীকে TextAppearance. Name , তাই এই ক্ষেত্রে, নামটি TextAppearance.Title ।
শৈলীর একটি অভিভাবক আছে, ঠিক যেমন একটি থিমের একটি অভিভাবক থাকতে পারে। কিন্তু এবার, একটি থিম প্রসারিত করার পরিবর্তে, শৈলীটি একটি শৈলীকে প্রসারিত করে, TextAppearance.MaterialComponents.Headline6 । এই স্টাইলটি MaterialComponents থিমের জন্য একটি ডিফল্ট টেক্সট স্টাইল, তাই এটিকে প্রসারিত করে আপনি স্ক্র্যাচ থেকে শুরু করার পরিবর্তে ডিফল্ট শৈলী পরিবর্তন করুন।
- নতুন শৈলীর ভিতরে, দুটি আইটেম সংজ্ঞায়িত করুন। একটি আইটেমে,
textSize24spসেট করুন। অন্য আইটেমটিতে,textColorআগে ব্যবহার করা একই গাঢ় ধূসরে সেট করুন।
<item name="android:textSize">24sp</item>
<item name="android:textColor">#555555</item>- সাবটাইটেলগুলির জন্য অন্য শৈলী সংজ্ঞায়িত করুন। এটির নাম
TextAppearance.Subtitle। - কারণ
TextAppearance.Titleথেকে শুধুমাত্র পার্থক্য হবে টেক্সট সাইজে, এই স্টাইলটিকেTextAppearance.Titleএর চাইল্ড করুন। -
Subtitleশৈলীর ভিতরে, পাঠ্যের আকার18spসেট করুন। এখানে সম্পূর্ণ শৈলী আছে:
<style name="TextAppearance.Subtitle" parent="TextAppearance.Title" >
<item name="android:textSize">18sp</item>
</style>ধাপ 2: আপনি যে শৈলী তৈরি করেছেন তা প্রয়োগ করুন
-
home_fragment.xmlএ,TextAppearanceযোগ করুন।titleটেক্সট ভিউTitleশৈলী.textSizeএবংtextColorবৈশিষ্ট্যগুলি মুছুন।
থিম আপনার সেট করা যেকোনোTextAppearanceস্টাইলিংকে ওভাররাইড করে। (কোডল্যাবের শুরুতে পিরামিড চিত্রটি স্টাইল প্রয়োগের ক্রমটি দেখায়।)TextAppearanceহিসাবে স্টাইলটি প্রয়োগ করতেtextAppearanceবৈশিষ্ট্যটি ব্যবহার করুন যাতেThemeসেট করা ফন্টটি আপনি এখানে যা সেট করেছেন তা ওভাররাইড করে।
<TextView
android:id="@+id/title"
android:textAppearance="@style/TextAppearance.Title"-
subtitleটেক্সট ভিউতেTextAppearance.Subtitleশৈলী যোগ করুন এবংtextSizeএবংtextColorবৈশিষ্ট্যগুলি মুছুন। আপনাকে এই স্টাইলটিকে একটিtextAppearanceহিসাবেও প্রয়োগ করতে হবে, যাতে থিমে সেট করা ফন্টটি আপনি এখানে যা সেট করেছেন তা ওভাররাইড করে।
<TextView
android:id="@+id/subtitle"
android:textAppearance="@style/TextAppearance.Subtitle"- অ্যাপটি চালান এবং আপনার পাঠ্যটি এখন ধারাবাহিকভাবে স্টাইল করা হয়েছে।

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

-
<style>এবং<item>ট্যাগ ব্যবহার করেstyles.xmlরিসোর্স ফাইলে শৈলী সংজ্ঞায়িত করুন।
<style name="TextAppearance.Subtitle" parent="TextAppearance.Title" >
<item name="android:textSize">18sp</item>
</style>ডাউনলোডযোগ্য ফন্ট ব্যবহার করে আপনার APK এর আকার না বাড়িয়ে ব্যবহারকারীদের জন্য ফন্ট উপলব্ধ করে। একটি দর্শনের জন্য একটি ডাউনলোডযোগ্য ফন্ট যোগ করতে:
- ডিজাইন ট্যাবে ভিউ নির্বাচন করুন এবং
fontFamilyঅ্যাট্রিবিউটের ড্রপ-ডাউন মেনু থেকে আরও ফন্ট নির্বাচন করুন। - রিসোর্স ডায়ালগে, একটি ফন্ট খুঁজুন এবং ডাউনলোডযোগ্য ফন্ট তৈরি করুন রেডিও বোতামটি নির্বাচন করুন।
- যাচাই করুন যে Android ম্যানিফেস্টে প্রিলোড করা ফন্টগুলির জন্য একটি মেটা-ডেটা ট্যাগ রয়েছে৷
যখন অ্যাপটি প্রথমে একটি ফন্টের জন্য অনুরোধ করে এবং ফন্টটি ইতিমধ্যে উপলব্ধ না হয়, তখন ফন্ট প্রদানকারী এটি ইন্টারনেট থেকে ডাউনলোড করে।
অ্যান্ড্রয়েড বিকাশকারী ডকুমেন্টেশন:
- শৈলী এবং থিম
- ডাউনলোডযোগ্য ফন্ট
- XML-এ ফন্ট
- বোঝার sp
-
TextViewবৈশিষ্ট্য - শৈলী সম্পদ
-
MaterialComponentsথিম
অন্যান্য সম্পদ:
এই বিভাগে একজন প্রশিক্ষকের নেতৃত্বে একটি কোর্সের অংশ হিসাবে এই কোডল্যাবের মাধ্যমে কাজ করা শিক্ষার্থীদের জন্য সম্ভাব্য হোমওয়ার্ক অ্যাসাইনমেন্ট তালিকাভুক্ত করা হয়েছে। নিম্নলিখিতগুলি করা প্রশিক্ষকের উপর নির্ভর করে:
- প্রয়োজনে হোমওয়ার্ক বরাদ্দ করুন।
- শিক্ষার্থীদের সাথে যোগাযোগ করুন কিভাবে হোমওয়ার্ক অ্যাসাইনমেন্ট জমা দিতে হয়।
- হোমওয়ার্ক অ্যাসাইনমেন্ট গ্রেড.
প্রশিক্ষকরা এই পরামর্শগুলি যতটা কম বা যতটা চান ততটা ব্যবহার করতে পারেন, এবং তাদের উপযুক্ত মনে করে অন্য কোনও হোমওয়ার্ক বরাদ্দ করতে নির্দ্বিধায় করা উচিত।
আপনি যদি নিজে থেকে এই কোডল্যাবের মাধ্যমে কাজ করে থাকেন, তাহলে আপনার জ্ঞান পরীক্ষা করার জন্য এই হোমওয়ার্ক অ্যাসাইনমেন্টগুলিকে নির্দ্বিধায় ব্যবহার করুন৷
এই প্রশ্নগুলোর উত্তর দাও
প্রশ্ন 1
থিম সংজ্ঞায়িত করতে কোন ট্যাগ ব্যবহার করা হয়?
▢ <style>
▢ <theme>
▢ <meta-tag>
▢ <styling>
প্রশ্ন 2
নিচের কোনটি শৈলীর ভালো ব্যবহার নয়?
▢ একটি দৃশ্যের সীমাবদ্ধতা নির্দিষ্ট করুন।
▢ শিরোনামগুলির পটভূমির রঙ নির্দিষ্ট করুন।
▢ দৃষ্টিভঙ্গি জুড়ে ফন্টের আকার একত্রিত করুন।
▢ দর্শনের একটি গোষ্ঠীর জন্য পাঠ্যের রঙ নির্দিষ্ট করুন।
প্রশ্ন 3
থিম এবং শৈলী মধ্যে পার্থক্য কি?
▢ থিমগুলি সম্পূর্ণ অ্যাপে প্রযোজ্য, যখন আপনি নির্দিষ্ট দৃশ্যগুলিতে শৈলী প্রয়োগ করতে পারেন৷
▢ থিমগুলি অন্যান্য থিম থেকে উত্তরাধিকার সূত্রে প্রাপ্ত হতে পারে না, তবে শৈলীগুলি অন্যান্য শৈলী থেকে উত্তরাধিকার সূত্রে প্রাপ্ত হতে পারে৷
▢ শৈলী অন্যান্য শৈলী থেকে উত্তরাধিকারসূত্রে পাওয়া যায় না, তবে থিমগুলি অন্যান্য থিম থেকে উত্তরাধিকার সূত্রে প্রাপ্ত হতে পারে।
▢ থিমগুলি Android সিস্টেম দ্বারা সরবরাহ করা হয়, যখন শৈলীগুলি বিকাশকারী দ্বারা সংজ্ঞায়িত করা হয়৷
প্রশ্ন 4
যদি আপনার অ্যাপের একটি TextView এর একটি Theme থাকে যা ফন্টের আকার 12sp এ সেট করে, একটি সংজ্ঞায়িত শৈলী যা এটিকে 14sp এ সেট করে এবং 16sp এর একটি fontSize বৈশিষ্ট্য, স্ক্রিনে প্রদর্শিত ফন্টের আকার কত?
▢ 12sp
▢ 14sp
▢ 16sp
▢ 18sp
পরবর্তী পাঠ শুরু করুন:
এই কোর্সে অন্যান্য কোডল্যাবগুলির লিঙ্কগুলির জন্য, Android Kotlin Fundamentals codelabs ল্যান্ডিং পৃষ্ঠাটি দেখুন।






