অ্যান্ড্রয়েড ইন্টারমিডিয়েট টিউটোরিয়াল ৯ঃ কাস্টম ফন্ট ব্যবহার

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

এখন আমরা মুল প্রসেসে যাবো। নিচের ছবির মত করে নতুন প্রজেক্ট ক্রিয়েট করে নেই,

সেইম নামে স্টুডিওতে প্রজেক্ট ক্রিয়েট করুন

সেইম নামে স্টুডিওতে প্রজেক্ট ক্রিয়েট করুন

 

তারপর,  অ্যান্ড্রয়েড স্টুডিও বা এডিটির ইক্লিপ্সে Assets ফোল্ডারে font নামে ফোল্ডার ক্রিয়েট করে নেই। সেই font ফোল্ডারে আমাদের ডউনলোড করা ফন্টগুলা রেখে দেই। ছবির মত দেখাবে।

Assets  এর ভেতরে font ফোল্ডারে ফন্ট দুইটা রাখুন

Assets এর ভেতরে font ফোল্ডারে ফন্ট দুইটা রাখুন

 

কাস্টম ফন্ট শো করাতে গেলে আমাদের নিচের দুই লাইন লাগবেঃ

Typeface tf1 = Typeface.createFromAsset(getAssets(),"font/mitra.ttf");

txt1.setTypeface(tf1);

প্রথম লাইনে আমরা টাইপফেস নিয়ে কাস্টম ফন্ট কই আছে সেই পথ চিনিয়ে দিলাম। পরের লাইনে txt1 টেক্সটভিউতে টাইপফেস সেট করে কাস্টম ফন্ট হবে সেটা জানিয়ে দিলাম।

XML ফাইলে দুইটা টেক্সটভিউ নিবো আমাদের দুইটা ফন্ট দেখানোর জন্য।

আমাদের MainActivity.java ফাইলে নিচের কোড পেস্ট করিঃ

package com.androidlime.customfont;

import android.app.Activity;
import android.graphics.Typeface;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.TextView;

public class MainActivity extends Activity {

    TextView txt1, txt2;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        txt1 = (TextView) findViewById(R.id.mytext1);
        txt2 = (TextView) findViewById(R.id.mytext2);

        Typeface tf1 = Typeface.createFromAsset(getAssets(),"font/mitra.ttf");
        Typeface tf2 = Typeface.createFromAsset(getAssets(), "font/BenSenHandwriting.ttf");

                        txt1.setText("এটা কিন্তু Mitra  কাস্টম ফন্ট দিয়ে করা। আন্ড্রয়েড লাইম  আমরা যদি প্রতিদিন নয়ত সপ্তাহে একটা, অথবা মাসে একটা তা না হলেও বছরে একটা করে অন্য মানুষের স্বপ্ন পুরণ করি তাহলে আমার মনে হয় স্বপ্নময় হয়ে উঠবে পৃথিবী");
                        txt1.setTypeface(tf1);

        txt2.setText("এটা কিন্তু BenSenHandW  কাস্টম ফন্ট দিয়ে করা। আন্ড্রয়েড লাইম  আমরা যদি প্রতিদিন নয়ত সপ্তাহে একটা, অথবা মাসে একটা তা না হলেও বছরে একটা করে অন্য মানুষের স্বপ্ন পুরণ করি তাহলে আমার মনে হয় স্বপ্নময় হয়ে উঠবে পৃথিবী");
        txt2.setTypeface(tf2);
    }

}

activity_main.xml ফাইলে নিচের কোড পেস্ট করি।

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
    android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity">

    <TextView android:text="@string/hello_world" android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/mytext1"
        android:textColor="#00aee5"
        android:textSize="20sp"/>

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/mytext2"
        android:layout_below="@+id/mytext1"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:text="hello"
        android:textColor="#ff0000"
        android:textSize="20sp"
        android:layout_marginTop="71dp" />

</RelativeLayout>

প্রজেক্ট রান করলে নিচের ছবির মত দেখাবে।

Custom Font Bangla

ফুল প্রজেক্ট ডাউনলোড করে নিন এখান থেকে।

আরো পড়ুনঃ অ্যান্ড্রয়েড এ্যাপ্লিকেশন মনেটাইজেশান (রেভেনিউ জেনেরেট) এর পথ সমূহ

Mosharrof Rubel

আমাকে ফেসবুকে পাবেন এখানেঃ মোশাররফ রুবেল

You may also like...

Leave a Reply