जवाबों:
अदृश्य:
यह दृश्य अदृश्य है, लेकिन यह अभी भी लेआउट उद्देश्यों के लिए जगह लेता है।
गया हुआ:
यह दृश्य अदृश्य है, और यह लेआउट उद्देश्यों के लिए कोई स्थान नहीं लेता है।
display:none
और visibility:hidden
/ सीएसएस :-) HTML में
से प्रलेखन आप कह सकते हैं कि
View.GONE यह दृश्य अदृश्य है, और यह लेआउट उद्देश्यों के लिए कोई स्थान नहीं लेता है।
View.INVISIBLE यह दृश्य अदृश्य है, लेकिन यह अभी भी लेआउट उद्देश्यों के लिए जगह लेता है।
आइए कुछ तस्वीरों के साथ विचार को स्पष्ट करें।
मान लें कि आपके पास नीचे की तरह तीन बटन हैं
अब यदि आप बटन दो की दृश्यता को अदृश्य ( View.INVISIBLE
) के रूप में सेट करते हैं , तो आउटपुट होगा
और जब आप बटन टू की दृश्यता को चला गया ( View.GONE
) के रूप में सेट करते हैं तो आउटपुट होगा
आशा है कि यह आपके संदेह को स्पष्ट करेगा।
INVISIBLE:
दृश्य को खींचना पड़ता है और इसमें समय लगता है।
गया:
दृश्य को खींचना नहीं है।
मैं सही और सफल उत्तरों में जोड़ना चाहूंगा, कि यदि आप दृश्यता के साथ दृश्य को आरंभ करते हैं View.GONE
, तो दृश्य को प्रारंभ नहीं किया जा सकता था और आपको कुछ यादृच्छिक त्रुटियाँ मिलेंगी।
उदाहरण के लिए, यदि आप एक लेआउट को इनिशियलाइज़ करते हैं View.GONE
और फिर आप एक एनीमेशन शुरू करने की कोशिश करते हैं, तो मेरे अनुभव से मुझे अपना एनीमेशन बेतरतीब ढंग से काम करते हुए मिला है। कभी हाँ, कभी नहीं।
तो देखने (आकार बदलने, स्थानांतरित करने, जो भी हो) से पहले, आपको इसे स्क्रीन पर ( View.VISIBLE
या View.INVISIBLE
इसे ड्रा) रेंडर करने के लिए या फिर इसे हैंडल करना होगा।
GONE
जब आप इसे बनाते हैं तो प्रोग्राम के संकलन के हर बार घटक को इनिशियलाइज़ किया जाता है। इसका मतलब है कि आप घटक को लेआउट से हटा रहे हैं और जब आप इसे अदृश्य बनाते हैं तो यह लेआउट में समान स्थान ले लेगा लेकिन हर बार आपको इसे इनिशियलाइज़ करने की आवश्यकता नहीं होती है। ।
यदि आप दृश्यता सेट कर चुके हैं तो आपको कंपोनेंट इनिशियलाइज़ करना होगा..जैसे
उदा बटन _mButton = नया बटन (यह);
_mutton = (बटन) findViewByid (R.id.mButton);
इसलिए यह दृश्यता = अदृश्य की तुलना में अधिक समय लेगा।
View.INVISIBLE -> दृश्य अदृश्य है लेकिन यह लेआउट में कुछ स्थान पर कब्जा कर लेगा
View.GONE -> दृश्य दिखाई नहीं देता है और यह लेआउट में किसी भी स्थान पर कब्जा नहीं करेगा