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

एंड्रॉइड में एक्शन बार शीर्षक ट्रंकेट हो रहा है या नहीं, कैसे जांचें?

एंड्रॉइड में एक्शन बार शीर्षक ट्रंकेशन (काटना) जांचें

यह ट्यूटोरियल दिखाता है कि getSupportActionBar().isTitleTruncated() मेथड का उपयोग करके कैसे जांचा जाए कि एक्शन बार का शीर्षक स्थान की कमी के कारण काटा (ट्रंकेट) जा रहा है या नहीं।

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

AppCompat थीम वाला नया एंड्रॉइड प्रोजेक्ट बनाएं।

चरण 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"
    android:gravity="center"
    android:padding="24dp"
    tools:context=".MainActivity">

    <TextView
        android:id="@+id/statusText"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textSize="24sp"
        android:textStyle="bold"
        android:padding="16dp"
        android:background="#FFF3E0"
        android:text="ट्रंकेशन जांच हो रही है..."/>

</LinearLayout>

चरण 3: एक्टिविटी कोड (src/MainActivity.java)

package com.example.titletruncationcheck;

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

public class MainActivity extends AppCompatActivity {

    private TextView statusText;

    @RequiresApi(api = Build.VERSION_CODES.N)
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        statusText = findViewById(R.id.statusText);

        if (getSupportActionBar() != null) {
            getSupportActionBar().setDisplayHomeAsUpEnabled(true);
            getSupportActionBar().setTitle("होम");
            getSupportActionBar().setSubtitle("सैराम");
            
            // थोड़ी देर बाद जांचें (लेआउट पास के बाद)
            statusText.postDelayed(() -> checkTitleTruncation(), 100);
        } else {
            statusText.setText("एक्शन बार उपलब्ध नहीं");
        }
    }

    private void checkTitleTruncation() {
        boolean isTruncated = getSupportActionBar() != null && getSupportActionBar().isTitleTruncated();
        String message = "शीर्षक ट्रंकेटेड: " + (isTruncated ? "हां ✓" : "नहीं ✗");
        statusText.setText(message);
        statusText.setTextColor(isTruncated ? 0xFFF44336 : 0xFF4CAF50);
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        if (item.getItemId() == android.R.id.home) {
            finish();
            return true;
        }
        return super.onOptionsItemSelected(item);
    }
}

शीर्षक ट्रंकेशन कब होता है?

  • शीर्षक बहुत लंबा हो
  • एक्शन बार में कई एक्शन बटन हों
  • डिवाइस स्क्रीन संकीर्ण हो (छोटी चौड़ाई)
  • लैंडस्केप मोड में कम जगह हो
  • कस्टम व्यू एक्शन बार में जगह ले रहा हो

लंबे शीर्षक के साथ टेस्ट करने के लिए

// लंबा शीर्षक सेट करें ट्रंकेशन ट्रिगर करने के लिए
getSupportActionBar().setTitle("यह एक बहुत लंबा शीर्षक है जो निश्चित रूप से छोटे स्क्रीन पर काटा जाएगा");

ट्रंकेशन रोकने के तरीके

<तरीका
विवरण
छोटा शीर्षक उपयोग करेंसबसे सरल समाधान
android:maxLines="1" + android:ellipsize="end"कस्टम टूलबार लेआउट में
कम एक्शन बटन दिखाएंshowAsAction="ifRoom|collapseActionView"
कस्टम टूलबार लेआउटपूरी चौड़ाई उपयोग करने के लिए
setDisplayShowTitleEnabled(false)शीर्षक छुपाएं, कस्टम व्यू उपयोग करें

कस्टम टूलबार में ट्रंकेशन नियंत्रण

<androidx.appcompat.widget.Toolbar
    android:id="@+id/toolbar"
    android:layout_width="match_parent"
    android:layout_height="?attr/actionBarSize"
    android:background="?attr/colorPrimary"
    app:title="लंबा शीर्षक..."
    app:subtitle="उपशीर्षक"
    app:titleTextAppearance="@style/ToolbarTitle" />

<!-- styles.xml -->
<style name="ToolbarTitle" parent="TextAppearance.Widget.AppCompat.Toolbar.Title">
    <item name="android:maxLines">1</item>
    <item name="android:ellipsize">end</item>
    <item name="android:textSize">18sp</item>
</style>

चरण 4: टेस्ट करें

  1. ऐप चलाएं - डिफ़ॉल्ट छोटे शीर्षक के साथ "नहीं" दिखाएगा
  2. कोड में लंबा शीर्षक सेट करके टेस्ट करें
  3. लैंडस्केप मोड में घुमाकर टेस्ट करें
  4. स्प्लिट-स्क्रीन मोड में टेस्ट करें

एंड्रॉइड में एक्शन बार शीर्षक ट्रंकेट हो रहा है या नहीं, कैसे जांचें?

  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 में स्टेटस बार कैसे छुपाएं? Android में स्टेटस बार कैसे छुपाएं?

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