Appcompat-v7 में टूलबार में शीर्षक निकालें


170

प्रलेखन का Toolbarकहना है

यदि कोई एप्लिकेशन लोगो छवि का उपयोग करता है तो उसे शीर्षक और उपशीर्षक को छोड़ने पर दृढ़ता से विचार करना चाहिए।

शीर्षक हटाने का उचित तरीका क्या है?


यदि आप इसे सिर्फ एक खाली स्ट्रिंग पर सेट करते हैं तो समस्या कहां है? मुझे नहीं लगता कि आपको एक कस्टम लेआउट का उपयोग करने के लिए मिला है जो सिर्फ एक आइकन का उपयोग करता है। लगता है कि overkill?
वैगनर माइकल

3
@maffelbaffel खाली स्ट्रिंग सेट करने में कुछ भी गलत नहीं है लेकिन यह अनुचित लगता है। लेकिन हाँ, एक कस्टम लेआउट का उपयोग overkill होगा।
टाइममेक्स

1
मुझे करना था:toolbar.setTitle("");
फेरन मेलिनच

1
@FerranMaylinch हाँ, यह मेरे लिए भी काम कर रहा है! मैं टूलबार का उपयोग करता हूं ।सेटटेल (अशक्त); जो एक डिफ़ॉल्ट शीर्षक के रूप में अनुप्रयोग नाम में परिणाम है। इसलिए मैं टूलबार सेट करता हूं। सेट (""); जो ठीक काम
उल्हास पाटिल

जवाबों:


554
getSupportActionBar().setDisplayShowTitleEnabled(false);

4
यह उत्तर और दाविद_ए द्वारा उत्तर मेरे जैसे ही काम करता है यदि कॉल करने के बाद सही कहा जाता है setSupportActionBar()। इस उत्तर को चुनना क्योंकि यह आधिकारिक संदर्भ के अनुसार ऐसा करने का आधिकारिक तरीका है:Set whether an activity title/subtitle should be displayed.
C0D3LIC1OU5

मैं केवल एक्शनबार जैसे टूलबार के लिए हूं, लेकिन स्वच्छ टोबार के लिए नहीं!
इस्कैरियट

2
Style.xml का उपयोग करके इसे कैसे निकालें? कृपया मेरी मदद करें
आनंद सवजनी

मेरे लिए काम किया। आपको इसके लिए "appcompat_v7: v21" का उपयोग करना होगा।
V_J

आपको यह जांचना होगा कि क्या उपरोक्त करने से NullPonterException उत्पन्न नहीं होगी: अगर (getSupportActionBar ()! = null) getSupportActionBar ()। setDisplayShowTleleEnabled (false);
iOSAndroidWindowsMobileAppsDev 12

68

टूलबार शीर्षक को छिपाने / बदलने का सही तरीका यह है:

Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
getSupportActionBar().setTitle(null);

ऐसा इसलिए है क्योंकि जब आप कॉल करते हैं setSupportActionBar(toolbar);, तो getSupportActionBar()हर चीज एक्शन बार को संभालने की जिम्मेदारी होगी, न कि टूलबार ऑब्जेक्ट की।

यहाँ देखें


9
setTitle (अशक्त) परिणाम ऐप नाम में शीर्षक बन जाता है .. setTitle ("") मेरे लिए काम करता है।
user1354603 15

1
xml में मैंने जोड़ा <टूलबार ऐप: शीर्षक = "" // शीर्षक एक स्थान है। काम किया
डैन अल्बोटीनू

21

इसे इस्तेमाल करे...

 @Override
 protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_landing_page); 

    .....

    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar_landing_page);
    setSupportActionBar(toolbar);
    getSupportActionBar().setDisplayShowTitleEnabled(false);

    .....

 }

19

इस पर मेरे जवाब का कारण यह है कि सबसे अधिक उत्तर दिया गया उत्तर मेरी समस्या को हल करने में विफल रहा। मैंने ऐसा करके इस समस्या का पता लगाया है।

<activity android:name="NAME OF YOUR ACTIVITY"
    android:label="" />

उम्मीद है कि इससे दूसरों को भी मदद मिलेगी।


2
यह एक अच्छा विचार नहीं है। यदि आपके पास <intent-filter>उस गतिविधि पर है जो उपयोगकर्ताओं को एक URL (उदाहरण के लिए) पर क्लिक करके अपने ऐप को खोलने की अनुमति देने के लिए है, तो अस्वीकरण संवाद का कोई शीर्षक नहीं होगा!
अल्बर्ट विला कैल्वो

10

शीर्षक अपने से दूर करने के लिए एक और तरीका है Toolbarकरने के लिए है nullइसलिए की तरह बाहर यह:

Toolbar toolbar = (Toolbar) findViewById(R.id.my_awesome_toolbar);
toolbar.setTitle(null);

4

यह

Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
    setSupportActionBar(toolbar);
    getSupportActionBar().setDisplayShowTitleEnabled(false);
    //toolbar.setNavigationIcon(R.drawable.ic_toolbar);
    toolbar.setTitle("");
    toolbar.setSubtitle("");
    //toolbar.setLogo(R.drawable.ic_toolbar);

3

यदि आप टूलबार कोड के नीचे आज़मा रहे हैं:

toolbar.setTitle("");

2

आप किसी भी एक बंदे का उपयोग कर सकते हैं क्योंकि दोनों एक ही तरह से काम करते हैं: getSupportActionBar().setDisplayShowTitleEnabled(false); और getSupportActionBar().setTitle(null);

उपयोग कहाँ करें:

Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);
        getSupportActionBar().setDisplayShowTitleEnabled(false);

या:

Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); 
    setSupportActionBar(toolbar); 
    getSupportActionBar().setTitle(null);

2
 Toolbar actionBar = (Toolbar)findViewById(R.id.toolbar);
    actionBar.addView(view);
    setSupportActionBar(actionBar);
    getSupportActionBar().setDisplayShowTitleEnabled(false);

इस लाइन पर ध्यान दें getSupportActionBar().setDisplayShowTitleEnabled(false);


actionBar.addView (देखें); एक कस्टम दृश्य है जो मैं टूलबार में जोड़ रहा
हूं


1

टूलबार के शीर्षक / लेबल को छिपाने का सही तरीका निम्नलिखित कोड हैं:

  Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
    setSupportActionBar(toolbar);
    getSupportActionBar().setTitle(null);

1

मुझे नहीं पता कि यह सही तरीका है या नहीं लेकिन मैंने इस तरह से अपनी शैली बदल दी है।

<style name="NoActionBarStyle" parent="Theme.AppCompat.Light.NoActionBar">
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>
    <item name="windowActionBar">false</item>
    <item name="android:windowNoTitle">true</item>
</style>

1

यदि आपका डिफ़ॉल्ट टूलबार उपयोग कर रहा है तो आप इस कोड को जोड़ सकते हैं

Objects.requireNonNull(getSupportActionBar()).setDisplayShowTitleEnabled(false);

1

यह स्पष्ट है, लेकिन App Themeडिज़ाइन में चयन केवल लेआउट संस्करण के दौरान एक प्रारूप प्रदर्शित करने के लिए है, सेल फोन में दिखने वाले वास्तविक ऐप से संबंधित नहीं है। मेरे मामले में, डिजाइन में कोई शीर्षक पट्टी नहीं है, लेकिन शीर्षक पट्टी हमेशा सेल फोन में थी।

मैं एंड्रॉइड प्रोग्रामिंग के साथ शुरू कर रहा हूं और एक सही समाधान खोजने के लिए लड़ रहा हूं।

केवल प्रकट फ़ाइल को बदलें ( AndroidManifest.xml) पर्याप्त नहीं है क्योंकि शैली को पूर्वनिर्धारित करने की आवश्यकता है styles.xml। इसके अलावा लेआउट फ़ाइलों को बदलना बेकार है।

के सभी प्रस्तावित समाधान Javaया Kotlinमेरे लिए नाकाम रही है। उनमें से कुछ ऐप को क्रैश कर देते हैं। और यदि कोई कभी भी (मेरे जैसा) ऐप में टाइटल बार का उपयोग करने का इरादा नहीं करता है, तो स्टैटिक सॉल्यूशन क्लीनर है।

मेरे लिए 2019 में काम करने वाला एकमात्र समाधान (Android Studio 3.4.1) है:

में styles.xml(एप्लिकेशन / res / values के तहत) पंक्तियां जोड़ें:

   <style name="AppTheme.NoActionBar">
        <item name="windowActionBar">false</item>
        <item name="windowNoTitle">true</item>
    </style>

के बाद AndroidManifest.xml(एप्लिकेशन / मैनिफेस्ट के तहत)

बदलने के

android:theme="@style/AppTheme">

द्वारा

android:theme="@style/AppTheme.NoActionBar">

0

किसी ने उल्लेख नहीं किया:

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        supportRequestWindowFeature(Window.FEATURE_NO_TITLE);
        super.onCreate(savedInstanceState);
    }

उत्तर देने से पहले सवाल को ध्यान से पढ़ें, ओपी ने टूलबार से शीर्षक हटाने के लिए कहा है
भाविक मेहता


हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.