Advertisement
  1. Code
  2. Android SDK
Code

দ্রুত নির্দেশনাঃ Android O তে কাস্টম ফন্ট নিয়ে কাজ করা

by
Difficulty:BeginnerLength:ShortLanguages:
This post is part of a series called Quick Tips: New UI Features in Android O.
Quick Tip: Create Autosizing Text With Android O
Quick Tip: Introducing Android O’s Adaptive Icons and Pinned Shortcuts

Bengali (বাংলা) translation by Nazmul Shuvo (you can also view the original English article)

Android O এর প্রথম ডেভেলপার প্রিভিউ এখানে!

এই সিরিজে, Android O ডেভেলপার প্রিভিউ ব্যবহার করে, আমরা দেখব কিছু আপ-এন্ড-কামিং UI ফিচার যা নিয়ে আপনি আজ থেকেই এক্সপেরিমেন্ট শুরু করতে পারেন।

প্রথম নির্দেশনায়, আমি দেখিয়েছি আর্লি O প্রিভিউ এর সমর্থনের জন্য কিভাবে আপনার ডেভেলপমেন্ট সেটআপ করবেন, এবং কিভাবে টেক্সট তৈরি করবেন যা স্বয়ংক্রিয়ভাবে চলমান স্ক্রিন কনফিগারেশনে স্কেল আপ এবং স্কেল ডাউনের সাথে খাপ খাওয়াবে। আমরা দেখতে যাচ্ছি কিভাবে Android O কাস্টম ফন্টগুলোর সাথে ঝামেলা মুক্ত অভিজ্ঞতার সাথে কাজ করবে।

আপনার প্রজেক্টে কাস্টম ফন্ট যোগ করা

আপনি কি কখনো একটি নির্দিষ্ট অংশের টেক্সট কে লক্ষণীয় করতে চেয়েছেন? অথবা আপনি কখনো উপলব্ধি করেছেন কি যে আপনার অ্যাপ্লিকেশান এ একটি কাস্টম ফন্ট কিছু অতিরিক্ত বৈশিষ্ট্য যোগ করার যথাযথ উপায় হতেও পারে?

যদিও কাস্টম ফন্ট ব্যবহারের অনেক সুবিধা রয়েছে, কিন্তু Android এ তাদের নিয়ে কাজ করার ক্ষেত্রে চিরাচরিত যন্ত্রনাপূর্ণ অভিজ্ঞতাও রয়েছে, এক্ষেত্রে আপনাকে একটি লাইব্রেরীর ব্যবহার অথবা একটি কাস্টম View তৈরি করতে হয়।

সৌভাগ্যক্রমে, Android এ কাস্টম ফন্ট নিয়ে কাজ করা অনেক সহজ হতে চলেছে, কাস্টম ফন্টগুলো Android O তে সম্পূর্ণরুপে সমর্থিত রিসোর্স টাইপ হতে চলেছে। তার মানে আপনার অ্যাপ এ একটি কাস্টম ফন্ট যোগ করা অন্য সব রিসোর্স যোগ করার মতই অক্রূর হবে, যেমন ইমেজ অথবা টেক্সট।

এই টিউটোরিয়ালের সাথে অনুসরণ করতে, আপনার প্রয়োজন হবে কিছু ফন্ট ফাইল যা আপনি আমাদের করা প্রথম পর্বের Android O প্রজেক্ট এ যোগ করতে পারবেন।

Android O তে .otf (OpenType) এবং .ttf (TrueType) উভয় ফরম্যাট ই সাপোর্ট করে। প্রচুর ওয়েবসাইট রয়েছে যেখানে এই ধরনের ফন্টগুলো বিনামূল্যে পাওয়া যায়, তাই গুগল এ কিছু সময় অনুসন্ধান করুন যে পর্যন্ত আপনার একটি ফন্ট ভালো না লাগে।

যেহেতু আমরা  Android O এর নতুন ফিচারগুলি নিয়ে এক্সপেরিমেন্ট করছি, আপনি কোন ফন্ট ব্যবহার করছেন এটা এখানে বিশেষ কোন ব্যাপার না, কিন্তু যখন আপনি আপনার অ্যাপ এর প্রোডাকশন রিলিজের জন্য ফন্ট খুজবেন তখন সবসময় ফন্টগুলোর শর্তাবলী পড়ে নেওয়া উচিত। রিসোর্স ডাউনলোডের জন্য ফ্রি এর মানে এই না যে রিসোর্সের ব্যবহার এবং পুনর্বন্টন কিভাবে হবে তার উপর কোন নিষেধাজ্ঞা নেই, তাই সবসময় ফাইন প্রিন্ট চেক করুন!

যেহেতু ভিন্ন ভিন্ন ফন্ট ভিন্ন ধরনের বার্তা জ্ঞাপন করে, তাই আপনার অ্যাপ্লিকেশান এর উদ্দেশ্য, কন্টেন্ট এবং ব্যবহারকারী টার্গেট ও বিবেচ্য।আপনি যদি একটি অ্যাপ ডিজাইন করেন যা লোকজনকে তাদের ট্যাক্স রিটার্ন সম্পূর্ণ করতে সাহায্য করবে, যদি এটি অদ্ভুত এবং পাগলাটে ফন্টের হয় তবে আপনার অডিয়েন্সরা আপনার আর্থিক ও আইনি পরামর্শকে গুরুত্বের সাথে নিতে বিবাদে পরতে পারে! 

আপনি যে ফন্ট নিয়ে কাজ করবেন তা যদি পেয়ে যান, এটি ডাউনলোড এবং আনজিপ করুন। এই পর্যায়ে, আপনার ফন্টগুলির ফাইলনেম অকার্যকর অক্ষরের জন্য চেক করা উচিত - মূলত এমনকিছু যা ছোট হাতের অক্ষর a-z, 0-9 অথবা একটি আন্ডারস্কোর এর কোনটি ই নয়। অন্য কোন অক্ষর অন্তর্ভুক্ত করার চেষ্ঠা করলে, যখনি আপনি যেই রিসোর্স রেফারেন্স করার চেষ্ঠা করবেন Android Studio একটি error প্রদর্শন করবে।

আপনার কাছে যখন ফন্ট ফাইলগুলি থাকবে, আপনার সেগুলোকে একস্থানে  সংরক্ষন করার প্রয়োজন হবেঃ

  • আপনার প্রজেক্টের app/res ফোল্ডারে রাইট-ক্লিক করুন এবং সিলেক্ট করুন New > Android resource directory
  • ড্রপডাউন মেনুটি খুলুন এবং font সিলেক্ট করুন।
  • File name হিসেবে font প্রবেশ করান।
  • OK ক্লিক করুন।
Create a resfont folder in Android Studio
  • আপনার ফন্ট ফাইলগুলো ড্র্যাগ করে এনে আপনার res/font ফোল্ডারে ড্রপ করুন।

আপনার কাস্টম ফন্টের ব্যবহার

আপনি আপনার টেক্সট এ একটি কাস্টম ফন্ট এপ্লাই করতে পারেন android:fontFamily এট্রিবিউট টি ব্যবহার করেঃ

Test your custom font on your Android O AVD

আপনি অ্যাপ এ আপনার তৈরি যে কোন স্টাইলে কাস্টম ফন্টগুলো যোগ করতে পারেনঃ

আপনি যদি কাস্টম ফন্টগুলো প্রোগ্রামেটিক্যালি ব্যবহার করতে চান, তবে আপনি একটি কাস্টম ফন্ট উদ্ধার করতে পারেন getFont(int) মেথড টি ব্যবহার করে, উদাহরণস্বরূপঃ

একটি ফন্ট ফ্যামিলি তৈরি করা

কখনো কখনো আপনি হয়ত আনজিপ করা ফোল্ডারে একই ফন্ট এর অনেক ভার্সন পেতে পারেন, যেমন একটি italicized ভার্সন, অথবা বিভিন্ন ধরনের ওয়েট এবং থিকনেস এর ফন্ট।

আপনি যদি একই ফন্ট এর বিভিন্ন ভার্সন ব্যবহার করেন, তবে আপনি হয়ত তাদের একটি ফন্ট ফ্যামিলিতে গ্রুপ করতে চাইবেন। একটি ফন্ট ফ্যামিলি মূলত একটি ডেডিকেটেড XML ফাইল যেখানে আপনি ফন্ট এর প্রত্যেকটা ভার্সন নির্ধারন করতে পারবেন, এর সংযুক্ত স্টাইল এবং ওয়েট এট্রিবিউট সহ।

একটি ফন্ট ফ্যামিলি তৈরি  করতেঃ

  • নিশ্চিত হোন যে আপনি আপনার সকল ফন্ট ফাইলগুলি আপনার প্রজেক্টের res/font ফোল্ডারে যোগ করেছেন।
  • আপনার প্রজেক্টের res/font ফোল্ডারে রাইট-ক্লিক করুন, এবং সিলেক্ট করুন New > Font resource file
  • ফাইলটির একটি নাম দিন, এবং OK ক্লিক করুন।
  • XML ফাইলটি খুলুন এবং এই ফন্টের সকল ভিন্ন ভার্সনগুলো ডিফাইন করুন, তাদের style এবং weight এট্রিবিউট সহ, উদ্বাহনস্বরূপঃ

আপনি তারপর এই ফ্যামিলির যে কোন ফন্ট এর রেফারেন্স দিতে পারবেন android:fontFamily এট্রিবিউট টি ব্যবহার করে। উদাহরণস্বরূপঃ

পরীক্ষা করতে ভুলবেন না যেন!

যদিও নতুন ফিচার বহন করে যাওয়া খুব সহজ, তাই বলে কাস্টম ফন্ট এর সমর্থন প্রত্যাহার করবেন না যেন! সঙ্গতিপূর্ণ UI গুলি নেভিগেট করা এবং বোঝা খুবই সহজ, এবং যদি আপনার অ্যাপ এ প্রতিনিয়ত ফন্ট পরিবর্তন হতে থাকে তবে আপনার ব্যবহারকারীরা হয়ত এতে কি বলা হয়েছে না দেখে টেক্সট দেখতে কেমন তার উপর বেশি মনোযোগী হয়ে উঠবে।

আপনি যদি আপনার প্রজেক্টে কাস্টম ফন্ট অন্তর্ভুক্ত করেন, তবে কিভাবে এটি প্রশস্ত পরিসরের বিভিন্ন স্ক্রিন কনফিগারেশনের সাথে রেন্ডার হয় তা পরীক্ষা করা গুরুত্বপূর্ণ, তেমনি টেক্সট পড়তে সহজ কিনা তা নিশ্চিতকরণে সবসময় সর্বোচ্চ অগ্রাধিকার দেওয়া উচিত।

উপসংহার

এই নির্দেশনায়, আমি দেখিয়েছি আপনার প্রজেক্টে কাস্টম ফন্ট যোগ করে, কিভাবে টেক্সট কে আরো স্টাইলিশ এবং ইউনিক করা যায়। এই সিরিজের ফাইনাল পোস্টে, আমাদের ফোকাস টেক্সট থেকে ইমেজ এ বদল করব, যেখানে আমি আপনাদের দেখাব কিভাবে অ্যাডাপ্টিভ লঞ্চার আইকনগুলি স্বয়ংক্রিয়ভাবে বর্তমান ডিভাইস অনুসারে তাদের আকৃতি প্রতিস্থাপন করবে।

এই সময়কালে, আমাদের  Android অ্যাপ ডেভেলপমেন্ট এর উপর অন্য টিউটোরিয়ালগুলি চেক করুন!

Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.