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

Android एक्टिविटी में नेविगेशन बार को स्थायी रूप से कैसे छुपाएं?

Android में नेविगेशन बार परमानेंटली हाइड करने का पूरा गाइड

यह ट्यूटोरियल दिखाता है कि कैसे इमर्सिव स्टिकी मोड का उपयोग करके नेविगेशन बार (बैक, होम, रीसेंट बटन) को स्थायी रूप से छुपाया जाए, जिससे यूजर इंटरैक्शन तक यह छुपा रहे।

चरण 1: प्रोजेक्ट सेटअप

Android Studio में नया प्रोजेक्ट बनाएं।

चरण 2: लेआउट फाइल

res/layout/activity_main.xml - स्टैंडर्ड ConstraintLayout:

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
    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"
    tools:context=".MainActivity">
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="हैलो वर्ल्ड!"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>

चरण 3: इमर्सिव स्टिकी मोड इम्प्लीमेंटेशन

src/MainActivity.java में पूरा कोड:

import androidx.appcompat.app.AppCompatActivity;
import android.annotation.SuppressLint;
import android.os.Build;
import android.os.Bundle;
import android.view.View;

public class MainActivity extends AppCompatActivity {
    private int currentApiVersion;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        currentApiVersion = Build.VERSION.SDK_INT;
        hideNavigationBar();
    }

    private void hideNavigationBar() {
        final int flags = View.SYSTEM_UI_FLAG_LAYOUT_STABLE |
                         View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION |
                         View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN |
                         View.SYSTEM_UI_FLAG_HIDE_NAVIGATION |
                         View.SYSTEM_UI_FLAG_FULLSCREEN |
                         View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY;

        if (currentApiVersion >= Build.VERSION_CODES.KITKAT) {
            getWindow().getDecorView().setSystemUiVisibility(flags);
            
            final View decorView = getWindow().getDecorView();
            decorView.setOnSystemUiVisibilityChangeListener(
                new View.OnSystemUiVisibilityChangeListener() {
                    @Override
                    public void onSystemUiVisibilityChange(int visibility) {
                        if ((visibility & View.SYSTEM_UI_FLAG_FULLSCREEN) == 0) {
                            decorView.setSystemUiVisibility(flags);
                        }
                    }
                });
        }
    }

    @SuppressLint("NewApi")
    @Override
    public void onWindowFocusChanged(boolean hasFocus) {
        super.onWindowFocusChanged(hasFocus);
        if (currentApiVersion >= Build.VERSION_CODES.KITKAT && hasFocus) {
            getWindow().getDecorView().setSystemUiVisibility(
                View.SYSTEM_UI_FLAG_LAYOUT_STABLE |
                View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION |
                View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN |
                View.SYSTEM_UI_FLAG_HIDE_NAVIGATION |
                View.SYSTEM_UI_FLAG_FULLSCREEN |
                View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY);
        }
    }
}

मुख्य फ्लैग्स समझाए गए

फ्लैगउद्देश्य
SYSTEM_UI_FLAG_IMMERSIVE_STICKYनेविगेशन बार को छुपाता है, स्वाइप पर अस्थायी रूप से दिखाता है
SYSTEM_UI_FLAG_HIDE_NAVIGATIONनेविगेशन बार छुपाता है
SYSTEM_UI_FLAG_FULLSCREENस्टेटस बार छुपाता है
SYSTEM_UI_FLAG_LAYOUT_STABLEलेआउट स्थिर रखता है जब सिस्टम UI दिखता/छुपता है

चरण 4: मैनिफेस्ट कॉन्फ़िगरेशन

सुनिश्चित करें कि एक्टिविटी सही थीम का उपयोग करती है।

बेस्ट प्रैक्टिसेज

  • हमेशा onWindowFocusChanged() में फ्लैग्स रीअप्लाई करें
  • यूजर को बताएं कि नेविगेशन के लिए कहां स्वाइप करना है
  • गेम्स और फुलस्क्रीन मीडिया ऐप्स के लिए आदर्श
  1. Android में EditText के बाहर क्लिक करने पर सॉफ्ट कीबोर्ड कैसे छुपाएं? Android में EditText के बाहर क्लिक करने पर सॉफ्ट कीबोर्ड कैसे छुपाएं?

    Android में EditText के बाहर टच पर सॉफ्ट कीबोर्ड छुपाना यह उदाहरण दर्शाता है कि जब उपयोगकर्ता EditText के बाहर कहीं टैप करता है, तो सॉफ्ट कीबोर्ड को प्रोग्रामेटिकली कैसे छुपाया जाए। चरण 1: नया प्रोजेक्ट बनाएं Android Studio में File → New Project चुनें। चरण 2: लेआउट फ़ाइल (res/layout/activity_main

  1. Android में स्टेटस बार कैसे छुपाएं? Android में स्टेटस बार कैसे छुपाएं?

    Android ऐप में स्टेटस बार हाइड करने के तरीके फुलस्क्रीन एक्सपीरियंस के लिए स्टेटस बार (समय, बैटरी, नोटिफिकेशन आइकन्स वाला एरिया) को छुपाना सीखें। यह गेम्स, वीडियो प्लेयर्स और इमर्सिव ऐप्स के लिए उपयोगी है। चरण 1: नया प्रोजेक्ट बनाएं Android Studio में File → New Project चुनकर प्रोजेक्ट बनाएं। चरण

  1. अपनी गोपनीयता सुरक्षित करें: एंड्रॉयड पर IP एड्रेस छिपाने की स्टेप-बाय-स्टेप गाइड अपनी गोपनीयता सुरक्षित करें: एंड्रॉयड पर IP एड्रेस छिपाने की स्टेप-बाय-स्टेप गाइड

    IP एड्रेस इंटरनेट की बात आने पर सबसे लोकप्रिय शब्दों में से एक है। आपने IP एड्रेस के बारे में सुना होगा लेकिन शायद इंटरनेट की बाइबिल से अधिक जानने का समय नहीं मिला। एंड्रॉयड पर IP एड्रेस छिपाने के बारे में अपना सिर खपाने से पहले, आपको किसी भी डिवाइस पर IP के बेसिक्स और कामकाज के बारे में पता होना चा