অ্যান্ড্রয়েড এ ম্যাটেরিয়াল ডিজাইন সেটআপ
অ্যান্ড্রয়েড এ ম্যাটেরিয়াল ডিজাইন এর অ্যাট্রিবিউট নিয়ে কাজ করতে চাইলে প্রথমে আমাদের কিছু Environment সেটআপ করতে হবে যা না হলে আমরা আমাদের অ্যাপ-এ ম্যাটেরিয়াল ডিজাইন ইমপ্লেমেন্ট করতে পারব না। এ ব্লগে Environment সেটআপ টি দেখানো হচ্ছে কিন্তু এর পরের ব্লগ গুলতে আমরা এ নিয়ে কিছু আর লিখব না।
অ্যান্ড্রয়েড এর একটি নতুন প্রোজেক্ট থেকেই আমরা শুরু করি। নতুন প্রোজেক্ট টি বিল্ড হওয়ার পর app.gradle
আমরা ম্যাটেরিয়াল ডিজাইন এর ডিপেন্ডেন্সি যুক্ত করব।
নিন্মের ছবিটি তে আমার প্রোজেক্টের ডিপেন্ডেন্সি দেখতে পারছেন। এতে ম্যাটেরিয়াল ডিজাইন এর ডিপেন্ডেন্সি হাইলাইট করা আছে, যার বেটা ভার্সন দিয়ে বিল্ড করা। আপনি চাইলে স্টাবল ভার্ষন ১.০.০
ব্যবহার করতে পারেন, তবে আমি সর্বশেষ ভার্ষনটি ব্যবহার করার জন্য বলব, কারণ নতুন ভার্ষন গুলোতে অনেক নতুন ফিচার এবং বাগ ফিক্সড করা থাকে।
এরপর আমরা একটি ছোট উদাহরণ দেখব, আমাদের activity_main
এ একটি ম্যাটেরিয়াল বাটন অ্যাড করে run
করি।
কি অ্যাপ চলেছে?? চলেনি, লগক্যাট-এ গেলে দেখবেন, ইরর খাচ্ছে, ইরর এর নমুনা টি নিন্মে দেয়া হল —
এর কারণ আমি যেদিন দেখেছি, অনেক মাথা চুলকানোর পরও বের করতে পারিনি। পরে আমাদের মাইটি stackOverFlow এর বদলৌতে জানতে পারলাম, এর মুল সমস্যা ছিল Style এর কারণে। আমরা যদি একটু style.xml
এ যাই তবে দেখতে পাব —
এখানে আমরা দেখছি যে আমাদের অ্যাপ থিম এর প্যারেন্ট Theme.AppCompat.Light.DarkActionBar
যা কিনা AppCompat
এর আন্ডারে আর আমরা আমাদের লেয়াউট-এ ব্যবহার করছি com.google.android.material.button.MaterialButton
,
যা কিনা Material
এর আন্ডারে আর তাই বাটনটি যখন এর প্যারেন্ট থিম AppCompat
পায় যা কিনা Material
হওয়ার কথা, তাই অ্যাপ টি ক্র্যাশ করে। তাই আমাদের প্যারেন্ট থিম পরিবর্তন করে Material
এর একটি দিতে হবে। তবে ভয়ের কিছু নেই, AppCompat
রিলেটেড সকল লেয়াউট Attribute
ম্যাটেরিয়াল থিম সাপোর্ট করে। কারণ Material
থিম এর প্যারেন্ট থিম হচ্ছে AppCompat
।
আমরা আমাদের প্রোজেক্ট এর জন্য Theme.AppCompat.Light.DarkActionBar
এর পরিবর্তে Theme.MaterialComponents.DayNight.DarkActionBar
বসিয়ে আবার অ্যাপ রান করি।
এবার দেখবেন, অ্যাপ টি চলছে।
অ্যাপ টি ঠিক মত চললে বুঝবেন যে আপনার এই অ্যান্ড্রয়েড প্রোজেক্ট-এ ম্যাটেরিয়াল ডিজাইন এর ডিপেন্ডেন্সি ইমপ্লিমেন্ট করা হয়ে গেছে এবং যেকোন ম্যাটেরিয়াল অ্যাট্রিবিউট ব্যবহার করতে পারবেন।
ইন শা আল্লাহ্, আমরা পরের পর্ব গুলতে বিভিন্ন ম্যাটেরিয়াল অ্যাট্রিবিউট-এর ব্যবহার দেখব।
ভাল লাগলে clap ও শেয়ার দিয়ে উৎসাহিত করবেন।