• Home
  • Courses
  • Portfolio
  • Contact
    Tiger 4 CodeTiger 4 Code
    • Home
    • Courses
    • Portfolio
    • Contact

      Android اندرويد

      • Home
      • Blog
      • Android اندرويد
      • 51 : اندرويد : تحميل ال view فقط عند الطلب

      51 : اندرويد : تحميل ال view فقط عند الطلب

      • Posted by Schwarztiger
      • Categories Android اندرويد
      • Date July 4, 2013
      • Comments 0 comment

       

      ملاحظة : الموضوع عبارة عن حلقة من حلقات سلسلة برمجة وتطوير اندرويد Android Development

      اندرويد :   تحميل ال view فقط عند الطلب

      السلام عليكم ورحمة الله وبركاته

      تحميل ال view فقط عند الطلب

      سوف نتعلم في هذا الدرس مايلي:

      1. تعريف ViewStub
      2. تحميل تنسيق ViewStub

      يفضل ان تقرأ

      • Optimize with stubs (blog post)

      في بعض الاحيان قد يتطلب تنسيقك مجموعة معقدة من ال views التي قد تم للتو استخدامها.

      سواء كانت هذه العناصر عبارة عن “تفاصيل عنصر”, “مؤشرات تقدم”, او “رسائل ..”, فإن بإمكانك تقليل استخدام الذاكرة وتسريع عملية ال rendering  عبر تحميل ال views فقط عند الحاجة إليهم.

      تعريف ViewStub

      ال ViewStub  عبارة عن view خفيف الوزن بدون ابعاد , ولا يقوم برسم أي شيء ولا يساهم ضمن التنسيق.

      لذلك فهو رخيص جدا اثناء القيام ب inflate  له , ولا يكلف كثيرا , ويترك لنا view ضمن الهرمية.

      يحتاج كل ViewStub  ببساطة إلى تضمين خاصية android:layout  لكي يحدد التنسيق الذي يجب القيام ب Inflate  له.

      فيما يلي مثال على ال ViewStub  من اجل شريط تقدم شفاف يقع فوق العناصر.

      يجب ان يكون مرئيا فقط عندما يتم استيراد عناصر جديدة ضمن التطبيق.

      <ViewStub
          android:id="@+id/stub_import"
          android:inflatedId="@+id/panel_import"
          android:layout="@layout/progress_overlay"
          android:layout_width="fill_parent"
          android:layout_height="wrap_content"
          android:layout_gravity="bottom" />

      تحميل تنسيق ViewStub

      عندما ترغب بتحميل التنسيق المحدد بواسطة ViewStub, فإنه يتوجب عليك ان تضعه مرئي إما بواسطة استدعاء setVisibility(View.VISIBLE)أو باستدعاء inflate().

       

      ((ViewStub) findViewById(R.id.stub_import)).setVisibility(View.VISIBLE);
      // or
      View importPanel = ((ViewStub) findViewById(R.id.stub_import)).inflate();

      ملاحظة : يعيد التابع inflate()ال view الذي تم القيام ب inflated  له فور انتهاء العملية. لذلك فانت لست بحاجة لاستدعاء التابع findViewById() في حال كنت ترغب بالتفاعل مع التنسيق.

      ما إن يظهرالعنصر الذي يتم القيام ب inflated له , فإن العنصر ViewStub  لا يعود جزء من هرمية ال view.ويتم استبداله بالتنسيقlayout  الذي تم القيام ب Inflate  له ويكون لل view   ال ID الذي تم تحديده ضمن خاصية android:inflatedId ل ViewStub.

      ملاحظة : من مساوئ استخدام ViewStub بأنها لا تدعم تاغ <merge/> ضمن التنسيق الذي تقوم ب inflate  له.

       

      وإلى لقاء في حلقة قريبة , وإلى ذلك الحين استودعكم الله والسلام عليكم ورحمة الله وبركاته.

      Tag:add search in android app, layout performance android, load view on demand, optimizing Layout Hierarchies, Setting Up the Search Interface, Storing and Searching for Data, ViewStub, اعادة استخدام التنسيقات عبر استخدام, اعداد واجهة المستخدم الخاصة بالبحث, البحث ضمن تطبيق اندرويد, اندرويد : تخزين المعطيات والبحث ضمنها, تحسين اداء التنسيق

      • Share:
      author avatar
      Schwarztiger

      Previous post

      50 : اندرويد : اعادة استخدام التنسيقات عبر استخدام include tag
      July 4, 2013

      Next post

      52 : اندرويد : جعل ال ListView تنزلق بشكل سلس Making ListView Scrolling Smooth
      July 4, 2013

      You may also like

      56 : اندرويد : استخدام “واجهة برمجة التطبيقات” API الخاصة بالنسخ الاحتياطي Backup
      20 August, 2013

        ملاحظة : الموضوع عبارة عن حلقة من حلقات سلسلة برمجة وتطوير اندرويد Android Development اندرويد :  استخدام واجهة برمجة التطبيقات API الخاصة بالنسبخ الاحتياطي Backup السلام عليكم ورحمة الله وبركاته  سوف نتعلم في هذا الدرس مايلي : تسجيل التطبيق …

      56 : اندرويد : التزامن مع السحابة الالكترونية Syncing to the Cloud
      20 August, 2013

        ملاحظة : الموضوع عبارة عن حلقة من حلقات سلسلة برمجة وتطوير اندرويد Android Development اندرويد :  التزامن مع السحابة الالكترونية Syncing to the Cloud السلام عليكم ورحمة الله وبركاته  سنتطرق ضمن هذه الحلقات إلى موضوع حديث نسبيا , الا …

      55 : اندرويد : ارسال طلبات عمل إلى الخدمة التي تعمل في الخلفية sending work request to the background service
      4 July, 2013

        ملاحظة : الموضوع عبارة عن حلقة من حلقات سلسلة برمجة وتطوير اندرويد Android Development اندرويد :  ارسال طلبات عمل إلى الخدمة التي تعمل في الخلفية Sending work requests to the background service السلام عليكم ورحمة الله وبركاته سوف نتعلم …

      Leave A Reply Cancel reply

      Your email address will not be published. Required fields are marked *

      Search

      Latest Courses

      Android Development

      Android Development

      $950.00
      HTML Tutorial: HTML & CSS for Beginners

      HTML Tutorial: HTML & CSS for Beginners

      $800.00
      Learn WordPress Content Management System

      Learn WordPress Content Management System

      Coming soon
      logo-eduma-the-best-lms-wordpress-theme

      info@tiger4code.com

      Links

      • Courses
      • Portfolio

      Copyright 2019 | Educational, Web & Mobile Development Platform By Tiger 4 Code