Toolbar কাস্টমাইজ করে यুনিক ActionBar বানান
পূর্বে ActionBar ব্যবহার হতো, এখন Toolbar (AppCompat) ব্যবহার করা হয়। এটি একটি সাধারণ ভিউ, যাতে যেকোনো লেআউট রাখা যায়।
১. থিমে অ্যাকশনবার বন্ধ করুন (styles.xml)
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<!-- NoActionBar родитель -->
</style>
২. কাস্টম টুলবার লেআউট (res/layout/custom_toolbar.xml)
<androidx.appcompat.widget.Toolbar
xmlns:android="https://schemas.android.com/apk/res/android"
android:id="@+id/customToolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal"
android:gravity="center_vertical"
android:padding="16dp">
<ImageView android:layout_width="24dp" android:layout_height="24dp"
android:src="@drawable/ic_logo" />
<TextView android:id="@+id/toolbarTitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="12dp"
android:text="My App"
android:textColor="#FFFFFF"
android:textSize="20sp"
android:textStyle="bold" />
<View android:layout_width="0dp" android:layout_height="0dp"
android:layout_weight="1" />
<ImageView android:layout_width="24dp" android:layout_height="24dp"
android:src="@drawable/ic_search"
android:contentDescription="Search" />
<ImageView android:layout_width="24dp" android:layout_height="24dp"
android:layout_marginStart="16dp"
android:src="@drawable/ic_notifications"
android:contentDescription="Notifications" />
</LinearLayout>
</androidx.appcompat.widget.Toolbar>
৩. Activity-এ সেটআপ
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Toolbar toolbar = findViewById(R.id.customToolbar);
setSupportActionBar(toolbar);
// শ্যাডো/এলিভেশন বন্ধ
getSupportActionBar().setElevation(0);
// টাইটেল ক্লিক লিসেনার
TextView title = findViewById(R.id.toolbarTitle);
title.setOnClickListener(v ->
Toast.makeText(this, "টাইটেলে ক্লিক হয়েছে!", Toast.LENGTH_SHORT).show());
}
}
activity_main.xml-এ টুলবার ইনক্লুড
<include layout="@layout/custom_toolbar" />
সুবিধা: টুলবারকে যেকোনো ভিউর মতো 애니মেশন, হাইড/শো, কাস্টম ভিউ অ্যাড করা যায়।