font
এই পর্বে আমরা দেখবো অ্যাপের ভিতরে কিভাবে বিভিন্ন রকমের ফন্ট নিয়ে কাজ করতে পারি । ডিফল্ট ফন্ট সহ কোন একটি লাইনের ফন্টও কিভাবে বদলাতে পারি । আমাদের আজকের তৈরি অ্যাপ যেভাবে দেখাবে -
এখানে ডিফল্ট ফন্ট চেঞ্জ করা সহ বাটনের ফন্টও আলাদাভাবে আবার চেঞ্জ করে দিয়েছি । বাটন নেয়ার পিছনে কোন কারন নেই , এম্নিতেই বাটন নেয়া ।
তো চলুন লেআউট এ এই ভিউ ৩টির xml ডিজাইন করে ফেলি -
activity_main.xml -
ডিফল্ট ফন্ট চেঞ্জ করতে একটি লাইব্রেরীর হেল্প নিবো । build.gradle(Module: app) ফাইলের ডিপেন্ডেন্সি তে লাইব্রেরী এড করে দিতে হবে । লাইব্রেরী টা হলো -
MainActivity.java -
বাটন এর আইডি নিয়ে নিলাম । এখন নেট থেকে দুইটা ফন্ট ডাউনলোড করে নেই । নেটে Free font লিখে সার্চ দিলেই অনেক ওয়েবসাইট পেয়ে যাবেন । তবু আমি কিছু লিংক দিয়ে দিলাম - fontspace , 1001freefonts , এখান থেকে আপনি আপনার ইচ্ছামত ফন্ট নামিয়ে নিন । সম্ভবত zip আকারে নামবে । zipথেকে Extract করে .ttf বা .otf ফাইলটি কপি করুন । এবার Android Studio তে গিয়ে app এ রাইট ক্লিক করে New -> folder ->Assets folder এ ক্লিক করে Finish বাটনে প্রেস করুন । দেখবেন app এ Assets নামে নতুন ডিরেক্টরি ফাইল খুলে গেছে । এবার Assets রাইট ক্লিক করে ফন্ট গুলো paste করে দিন 😊
এরপর ডিফল্ট ভ্যালু চেঞ্জ করতে যে ম্যাথডটি লিখতে হবে -
এরফলে আপনার অ্যাপের সকল ফন্টের আকার এই chunkfive.tff এর মত হয়ে যাবে । এখন যদি আমরা চাই কোন একটি নির্ধারিত কোন ভিউ বা লেখার ফন্ট চেঞ্জ করতে তাহলে Typeface ক্লাসের সাহায্য নিতে হবে । যে ম্যাথড টি লিখতে হবে -
নির্ধারিত কোন ভিউ এর ফন্ট এবং ডিফল্ট ফন্ট দুইটাই চেঞ্জ করলে আগে ডিফল্ট ফন্ট চেঞ্জ করে নিবেন । কেননা কোড লাইন বাই লাইন এক্সিকিউট করে সো আগে কোন ভিউ এর ফন্ট চেঞ্জ করার পর যদি ডিফল্ট ফন্ট চেঞ্জ করেন তাহলে সকল ফন্টের আকার ডিফল্ট ফন্ট অনুযায়ী হয়ে যাবে ।
এবার অ্যাপটি রান করুন 😊😊😊😊
MainActivity.java ফুল কোড -
এখানে ডিফল্ট ফন্ট চেঞ্জ করা সহ বাটনের ফন্টও আলাদাভাবে আবার চেঞ্জ করে দিয়েছি । বাটন নেয়ার পিছনে কোন কারন নেই , এম্নিতেই বাটন নেয়া ।
তো চলুন লেআউট এ এই ভিউ ৩টির xml ডিজাইন করে ফেলি -
activity_main.xml -
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:padding="20dp"
tools:context="com.example.user.learnfromyoutube.MainActivity">
<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="15dp"
android:text="Hi , I am Mashiur Rahman Sajib"
android:textColor="@android:color/holo_green_dark"
android:textSize="30sp"/>
<Button
android:id="@+id/btn"
android:layout_width="150dp"
android:layout_height="wrap_content"
android:text="Click"
android:textSize="25sp"
android:padding="10dp"
android:layout_marginTop="15dp"
android:background="@android:color/holo_green_light"
android:textStyle="bold"
android:textColor="#fff"
android:layout_gravity="center"/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="30sp"
android:layout_marginTop="10dp"
android:text="Daffodil International University"
android:padding="5dp"
android:textColor="@android:color/holo_green_dark"/>
</LinearLayout>
ডিফল্ট ফন্ট চেঞ্জ করতে একটি লাইব্রেরীর হেল্প নিবো । build.gradle(Module: app) ফাইলের ডিপেন্ডেন্সি তে লাইব্রেরী এড করে দিতে হবে । লাইব্রেরী টা হলো -
compile 'me.anwarshahriar:calligrapher:1.0'
MainActivity.java -
public class MainActivity extends AppCompatActivity {
Button button;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button = findViewById(R.id.btn);
বাটন এর আইডি নিয়ে নিলাম । এখন নেট থেকে দুইটা ফন্ট ডাউনলোড করে নেই । নেটে Free font লিখে সার্চ দিলেই অনেক ওয়েবসাইট পেয়ে যাবেন । তবু আমি কিছু লিংক দিয়ে দিলাম - fontspace , 1001freefonts , এখান থেকে আপনি আপনার ইচ্ছামত ফন্ট নামিয়ে নিন । সম্ভবত zip আকারে নামবে । zipথেকে Extract করে .ttf বা .otf ফাইলটি কপি করুন । এবার Android Studio তে গিয়ে app এ রাইট ক্লিক করে New -> folder ->Assets folder এ ক্লিক করে Finish বাটনে প্রেস করুন । দেখবেন app এ Assets নামে নতুন ডিরেক্টরি ফাইল খুলে গেছে । এবার Assets রাইট ক্লিক করে ফন্ট গুলো paste করে দিন 😊
এরপর ডিফল্ট ভ্যালু চেঞ্জ করতে যে ম্যাথডটি লিখতে হবে -
Calligrapher calligrapher = new Calligrapher(getApplicationContext());
calligrapher.setFont(this,"chunkfive.otf",false);
এরফলে আপনার অ্যাপের সকল ফন্টের আকার এই chunkfive.tff এর মত হয়ে যাবে । এখন যদি আমরা চাই কোন একটি নির্ধারিত কোন ভিউ বা লেখার ফন্ট চেঞ্জ করতে তাহলে Typeface ক্লাসের সাহায্য নিতে হবে । যে ম্যাথড টি লিখতে হবে -
Typeface myCustomFonts = Typeface.createFromAsset(getAssets(),"cantarell_regular.ttf");
button.setTypeface(myCustomFonts);
নির্ধারিত কোন ভিউ এর ফন্ট এবং ডিফল্ট ফন্ট দুইটাই চেঞ্জ করলে আগে ডিফল্ট ফন্ট চেঞ্জ করে নিবেন । কেননা কোড লাইন বাই লাইন এক্সিকিউট করে সো আগে কোন ভিউ এর ফন্ট চেঞ্জ করার পর যদি ডিফল্ট ফন্ট চেঞ্জ করেন তাহলে সকল ফন্টের আকার ডিফল্ট ফন্ট অনুযায়ী হয়ে যাবে ।
এবার অ্যাপটি রান করুন 😊😊😊😊
MainActivity.java ফুল কোড -
package com.example.user.learnfromyoutube;
import android.graphics.Typeface;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.Button;
import me.anwarshahriar.calligrapher.Calligrapher;
public class MainActivity extends AppCompatActivity {
Button button;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button = findViewById(R.id.btn);
Calligrapher calligrapher = new Calligrapher(getApplicationContext());
calligrapher.setFont(this,"chunkfive.otf",false);
Typeface myCustomFonts = Typeface.createFromAsset(getAssets(),"cantarell_regular.ttf");
button.setTypeface(myCustomFonts);
}
}
😊😊😊😊😊😊😊😊
মন্তব্যসমূহ
একটি মন্তব্য পোস্ট করুন