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

एक्शन बार में बैक बटन एक्शन कैसे इनेबल करें?

एंड्रॉइड एक्शन बार बैक/अप बटन का क्लिक इवेंट हैंडल करना

यह ट्यूटोरियल दिखाता है कि onOptionsItemSelected() ओवरराइड करके एक्शन बार के होम/बैक बटन क्लिक पर एक्टिविटी फिनिश/नेविगेट कैसे करें।

चरण 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:gravity="center"
    android:layout_height="match_parent"
    tools:context=".MainActivity">
    <TextView
        android:id="@+id/text"
        android:textSize="30sp"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />
</LinearLayout>

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

package com.example.myapplication;

import android.os.Bundle;
import android.view.MenuItem;
import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;

public class MainActivity extends AppCompatActivity {
    TextView textView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        textView = findViewById(R.id.text);
        
        if (getSupportActionBar() != null) {
            // बैक बटन दिखाएं
            getSupportActionBar().setDisplayHomeAsUpEnabled(true);
            getSupportActionBar().setTitle("होम");
            getSupportActionBar().setSubtitle("सैराम");
        }
    }

    // मेनू आइटम क्लिक हैंडलर
    @Override
    public boolean onOptionsItemSelected(@NonNull MenuItem item) {
        // होम/अप बटन का ID android.R.id.home होता है
        if (item.getItemId() == android.R.id.home) {
            // एक्टिविटी फिनिश करें (वापस जाएं)
            finish();
            // या onBackPressed(); // समान प्रभाव
            // या NavController.navigateUp() नेविगेशन कंपोनेंट के लिए
            return true; // इवेंट कन्ज्यूम्ड
        }
        return super.onOptionsItemSelected(item);
    }
}

एडवांस्ड: NavController के साथ (नेविगेशन कंपोनेंट)

@Override
public boolean onOptionsItemSelected(@NonNull MenuItem item) {
    if (item.getItemId() == android.R.id.home) {
        // NavController से अप नेविगेट
        return NavigationUI.onNavDestinationSelected(item, navController)
            || super.onOptionsItemSelected(item);
    }
    return super.onOptionsItemSelected(item);
}

कस्टम बैक बिहेवियर

@Override
public boolean onOptionsItemSelected(@NonNull MenuItem item) {
    if (item.getItemId() == android.R.id.home) {
        // कन्फर्मेशन डायलॉग दिखाएं
        new AlertDialog.Builder(this)
            .setTitle("बाहर निकलें?")
            .setMessage("क्या आप वाकई वापस जाना चाहते हैं?")
            .setPositiveButton("हां", (d, w) -> finish())
            .setNegativeButton("नहीं", null)
            .show();
        return true;
    }
    return super.onOptionsItemSelected(item);
}

टूलबार उपयोग करते समय

Toolbar toolbar = findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
toolbar.setNavigationOnClickListener(v -> {
    // कस्टम हैंडलिंग
    onBackPressed();
});

ऐप टेस्ट करें

चलाएं - बैक एरो (←) क्लिक करें, एक्टिविटी बंद होकर पिछली स्क्रीन/लॉन्चर पर वापस जाएगी।

  1. Android में एक्शन बार टाइटल को सेंटर अलाइन कैसे करें? Android में एक्शन बार टाइटल को सेंटर अलाइन कैसे करें?

    Android ActionBar/Toolbar में टाइटल को सेंटर करना यह उदाहरण दर्शाता है कि कस्टम व्यू का उपयोग करके एक्शन बार टाइटल को सेंटर अलाइन कैसे किया जाए। चरण 1: नया प्रोजेक्ट बनाएं Android Studio में File → New Project चुनें। चरण 2: कस्टम एक्शन बार लेआउट (res/layout/actionbar_centered_title.xml) <?xml v

  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