سؤال

لذلك يمكنني تضخيم Viewstub في وقت التشغيل. دعنا نقول أنني أريد أن أختفي ، وربما تتضخم مرة أخرى اعتمادًا على بعض الأحداث التي تحدث (على سبيل المثال ، شريط أدوات ينفخ وينحرف وفقًا لما يختاره المستخدم على الشاشة).

يمكنني استخدام view.setVisibility (view.gone) .... هل هناك أي طريقة أخرى؟

أم أفعل شيئًا خاطئًا هنا؟

شكرًا! قون

هل كانت مفيدة؟

المحلول

يمكن أن تكون تخطيطات التضخيم باهظة الثمن ، خاصة على الأجهزة القديمة. فكر في ViewStub على أنها أكثر من آلية تحميل كسول للعرض الفرعي التي قد تتوسع أو لا يتم توسيعها بدلاً من وسيلة لمبادلة أقسام التسلسل الهرمي في العرض. بمجرد تضخيمها ، لا حرج في التبديل بين مرئي/ذهب. ذهب سيجعل الإطار تخطي هذا الشجرة الفرعية خلال عبور باهظة الثمن.

هذا صحيح طالما أنك لا تحتاج إلى الذاكرة المستخدمة في العرض المتضخم. تحديد الرؤية ل GOED لا يطلق أي ذاكرة على الإطلاق ؛ إنه يمثل الرأي فقط كما ذهب لأغراض التخطيط والرسم. لإصدار ذاكرة ViewStub المتضخمة ، سيكون عليك فعليًا إزالة العرض المتضخم واستبداله مرة أخرى برصيد جديد للاستخدام في المستقبل.

نصائح أخرى

نعم يمكنك إزالة عندما تريد. لقد فعلت ذلك الآن.

ViewStub stub = findById(...);
View v = stub.inflate();

وتعيين رؤية الرؤية على أي حدث.

v.setVisibility(View.GONE);
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top