Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Android

एंड्रॉइड में एक्शन बार टाइटल पर OnClick लिस्टनर कैसे सेट करें?

एंड्रॉइड में टूलबार टाइटल पर क्लिक लिस्टनर सेट करना

यह ट्यूटोरियल दिखाता है कि कस्टम Toolbar में TextView को टाइटल के रूप में उपयोग करके उस पर क्लिक लिस्टनर कैसे सेट करें - स्टैंडर्ड एक्शन बार टाइटल क्लिकेबल नहीं होता।

चरण 1: नया प्रोजेक्ट बनाएं

Android Studio में File → New Project चुनें।

चरण 2: लेआउट (res/layout/activity_main.xml)

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="https://schemas.android.com/apk/res/android"
    xmlns:app="https://schemas.android.com/apk/res-auto"
    xmlns:tools="https://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context=".MainActivity">
    
    <androidx.appcompat.widget.Toolbar
        android:id="@+id/my_awesome_toolbar"
        android:layout_width="match_parent"
        android:layout_height="?attr/actionBarSize"
        android:background="?attr/colorPrimary"
        android:minHeight="?attr/actionBarSize">
        
        <TextView
            android:id="@+id/toolbarTitle"
            style="@style/TextAppearance.Widget.AppCompat.Toolbar.Title"
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:gravity="center_vertical"
            android:background="?attr/selectableItemBackground"
            android:paddingStart="16dp"
            android:paddingEnd="16dp" />
            
    </androidx.appcompat.widget.Toolbar>
    
    <TextView
        android:id="@+id/text"
        android:textSize="20sp"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:gravity="center"
        android:padding="16dp" />
        
</LinearLayout>

चरण 3: MainActivity कोड (java/MainActivity.java)

package com.example.myapplication;

import android.os.Bundle;
import android.view.View;
import android.widget.TextView;
import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.widget.Toolbar;

public class MainActivity extends AppCompatActivity {
    TextView textView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        // डिफॉल्ट एक्शन बार छुपाएं
        if (getSupportActionBar() != null) {
            getSupportActionBar().hide();
        }
        
        // कस्टम टूलबार सेट करें
        Toolbar toolbar = findViewById(R.id.my_awesome_toolbar);
        setSupportActionBar(toolbar);
        
        // टाइटल TextView पर क्लिक लिस्टनर
        TextView toolbarTitle = findViewById(R.id.toolbarTitle);
        toolbarTitle.setText("होम");
        toolbarTitle.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                // टाइटल क्लिक एक्शन
                finish(); // या कोई अन्य एक्शन
            }
        });
        
        textView = findViewById(R.id.text);
        textView.setText("टूलबार टाइटल पर क्लिक करें");
    }
}

मुख्य बिंदु

  • स्टैंडर्ड एक्शन बार टाइटल (getSupportActionBar().setTitle()) क्लिकेबल नहीं होता
  • कस्टम Toolbar में TextView उपयोग करके क्लिकेबल बनाएं
  • android:background="?attr/selectableItemBackground" रिपल इफेक्ट देता है
  • setSupportActionBar(toolbar) टूलबार को एक्शन बार बनाता है

वैकल्पिक: पूरे टूलबार पर क्लिक

toolbar.setOnClickListener(v -> {
    // टूलबार में कहीं भी क्लिक
    finish();
});

// या केवल टाइटल एरिया
toolbar.setOnMenuItemClickListener(item -> {
    if (item.getItemId() == android.R.id.home) return false; // होम अलग
    return false;
});

उपयोग केस

  • टाइटल क्लिक पर टॉप/रिफ्रेश स्क्रॉल
  • होम/डैशबोर्ड पर वापस जाएं
  • सर्च एक्सपैंड/कॉलेप्स
  • फिल्टर/सॉर्ट डायलॉग खोलें

ऐप टेस्ट करें

चलाएं - टूलबार में "होम" टेक्स्ट पर क्लिक करें, एक्टिविटी फिनिश होकर वापस जाएगी।

  1. एंड्रॉइड में एक्शन बार की ऊंचाई कैसे प्राप्त करें? एंड्रॉइड में एक्शन बार की ऊंचाई कैसे प्राप्त करें?

    Toolbar.getHeight() के साथ एक्शन बार ऊंचाई मापें यह उदाहरण दर्शाता है कि Toolbar/ActionBar की रनटाइम ऊंचाई पिक्सेल में कैसे प्राप्त करें। चरण 1: नया प्रोजेक्ट बनाएं Android Studio में File → New Project चुनें। चरण 2: लेआउट में Toolbar और बटन res/layout/activity_main.xml: <?xml version=1.0 encod

  1. Android में एक्शन बार का आकार कैसे बदलें? Android में एक्शन बार का आकार कैसे बदलें?

    एक्शन बार आकार अनुकूलित करना यह उदाहरण दर्शाता है कि styles.xml में actionBarSize एट्रिब्यूट से एक्शन बार की ऊंचाई कैसे बदलें। चरण 1: नया प्रोजेक्ट बनाएं Android Studio में File → New Project चुनें। चरण 2: styles.xml में कस्टम थीम <resources> <!-- Base application theme. --> &l

  1. Android पर VPN कैसे सेट अप करें Android पर VPN कैसे सेट अप करें

    क्या आप अपने मोबाइल डिवाइस पर ब्राउज़ करते समय अधिक सुरक्षित रहना चाहते हैं? या सिर्फ Netflix पर क्षेत्र प्रतिबंधों को बायपास करना चाहते हैं? एक VPN (वर्चुअल प्राइवेट नेटवर्क) एक बढ़िया विकल्प है। लेकिन क्या आप Android पर VPN सेट अप कर सकते हैं? यहां बताया गया है कि अपने Android डिवाइस पर मोबाइल VPN