অ্যাকশন বারের টাইটেল মাঝপথে আনা
ডিফল্টভাবে অ্যাকশন বারের টাইটেল বাম পাশে থাকে। এই উদাহরণটি দেখায় কীভাবে কাস্টম ভিউ ব্যবহার করে টাইটেলকে সেন্টারে আনা যায়।
ধাপ ১: নতুন প্রজেক্ট তৈরি করুন
Android Studio-তে File → New Project থেকে প্রজেক্ট তৈরি করুন।
ধাপ ২: কাস্টম অ্যাকশন বার লেআউট (actionbar_title.xml)
res/layout/actionbar_title.xml নামে একটি নতুন লেআউট ফাইল তৈরি করুন:
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="https://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:text="My Centered Title"
android:textSize="18sp"
android:textStyle="bold"
android:textColor="@android:color/white"
android:padding="16dp" />
ধাপ ৩: MainActivity.java বাস্তবায়ন
import android.support.v7.app.ActionBar;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// অ্যাকশন বার কাস্টমাইজ করুন
ActionBar actionBar = getSupportActionBar();
if (actionBar != null) {
actionBar.setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM);
actionBar.setCustomView(R.layout.actionbar_title);
// ঐচ্ছিক: হোম বাটন লুকান
// actionBar.setDisplayShowHomeEnabled(false);
// actionBar.setDisplayHomeAsUpEnabled(false);
}
}
}
আধুনিক পদ্ধতি: Toolbar ব্যবহার (প্রস্তাবিত)
AppCompatActivity-তে Toolbar ব্যবহার করা আরও ফ্লেক্সিবল এবং ম্যাটেরিয়াল ডিজাইন অনুগত:
১. লেআউটে Toolbar যোগ করুন (activity_main.xml)
<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout
xmlns:android="https://schemas.android.com/apk/res/android"
xmlns:app="https://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
app:title="Centered Title"
app:titleTextAppearance="@style/ToolbarTitle"
app:titleMarginStart="0dp"
app:titleMarginEnd="0dp" />
<!-- আপনার মূল কন্টেন্ট -->
<FrameLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="?attr/actionBarSize">
<!-- Content here -->
</FrameLayout>
</android.support.design.widget.CoordinatorLayout>
২. styles.xml-এ টাইটেল স্টাইল যোগ করুন
<style name="ToolbarTitle" parent="TextAppearance.Widget.AppCompat.Toolbar.Title">
<item name="android:textAlignment">center</item>
<item name="android:gravity">center</item>
<item name="android:layout_gravity">center</item>
</style>
৩. Activity-এ Toolbar সেট করুন
Toolbar toolbar = findViewById(R.id.toolbar); setSupportActionBar(toolbar); getSupportActionBar().setDisplayShowTitleEnabled(true);
ধাপ ৪: AndroidManifest.xml (থিম সেটিং)
NoActionBar থিম ব্যবহার করুন যাতে ডিফল্ট অ্যাকশন বার না আসে:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="https://schemas.android.com/apk/res/android"
package="app.com.sample">
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme.NoActionBar">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
styles.xml (থিম ডেফিনিশন)
<style name="AppTheme.NoActionBar" parent="Theme.AppCompat.Light.NoActionBar">
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
</style>
অ্যাপ্লিকেশন টেস্ট করুন
অ্যাপ রান করলে অ্যাকশন বারের টাইটেল "My Centered Title" স্ক্রিনের মাঝখানে দেখাবে। Toolbar পদ্ধতিতে আরও কাস্টমাইজেশন (ব্যাক বাটন, মেনু আইটেম ইত্যাদি) যোগ করা যায়।