بسم الله الرحمن الرحيم
في هذا الدرس كيفية جعل تطبيقك متوافق لجميع قياس الشاشات.
درس طلبه مني الكثير, ويبحث عنه الكثير, وإن شاء الله يستفيد الكثير ^_^ , في كيفية جعل تطبيقك الاندرويد متوافق مع جميع الشاشات.
أحب أن أذكر أنه يوجد طرق مختلفة وكثيرة, ولكن التي سوف اشرحها هي ما استخدمها.
في البداية يجب عليك أن تعلم أن القياسات الرئيسية هي أربعة :
xlarge screens are at least 960dp x 720dp
large screens are at least 640dp x 480dp
الافتراضي – normal screens are at least 470dp x 320dp
small screens are at least 426dp x 320dp
بالنسبة للقياس الافتراضي normal وهو مجلد layout : مناسب لشاشات بين 3 إلى 5 إنش أي الجوالات المعروفة والأغلبها شهرة مثلاً : جوالات سامسونج جالكسي اس.
بالنسبة للقياس الصغير small وهو مجلد layout-small : قليل الاستخدام, لأن اغلب الجوالات حالياً أصبحت كبيرة, وهو مناسب للجوالات 2-3 انش.
بالنسبة للقياس الكبير large وهو مجلد layout-large : وهو مناسب تماماً للشاشات 7 انش.
بالنسبة للقياس الضخم xlarge وهو مجلد layout-xlarge : وهو مناسب تماماً للشاشات 10 انش.
بالنسبة لي استخدم جميع القياس إلا الصغير, فحالياً تستخدم بكثرة اجهز التابلت 7-10 بوصة.
ذكرت لكم أسماء المجلدات, لذلك اتبع معي ما سوف تقوم بفعله :
في البداية تنتهي من تطبيقك على المجلد الافتراضي layout وعند الانتهاء منه, تقوم بعمل نسخة منه بإسم layout-large وتقوم بالتعديل على القياسات داخلها للتناسب مع الشاشة التي يعرضها لك الاندريد ستوديو.
بعد ذلك تقوم بنسخ مجلد layout-large و إنشاء نسخة منه بإسم layout-xlarge ليسهل عليك عملية التكبير وتقوم كذلك بتغير القياسات.
لكل مجلد منها تستطيع عمل له نسخة بالشكل الأفقي, وذلك بنسخ المجلد بإسم المجلد + land , وهكذا تستطيع عمل تطبيق مناسب لجميع الشاشات, سواء كانت كبيرة او صغيرة او بالاتجاه العمودي والأفقي, كما تستطيع تغير الترتيب كما يحلو لك.
أحياناً نشاهد تطبيقات بالاتجاه العمودي, وعند قلب الجهاز للاتجاه الافقي يتغير كل شيء فيها. وهذا ما تستطيع فعله بعد قرائتك وتطبيقك لهذا الدرس.
احياناً تحتاج إلى أضافت التالي في ملف manifest :
<supports-screens android:normalScreens="true" android:xlargeScreens="true" android:largeScreens="true" android:anyDensity="true" />
========= انتهى =========== إلى هنا الوضع سليم لك كمبتدئ.
يوجد طرق كثيرة كما ذكرت لعمل هذا الشيء, كما أن الموضوع جداً طويل, وانا اختصرته قدر الإمكان تستطيع مراجعته من الموقع الرسمي لمطورين اندرويد : http://developer.android.com/guide/practices/screens_support.html
اقرأ الموضوع الشامل فيه تتعرف على أشياء كثيرة وجديدة, منها الدقة والتحكم بها, اغلب ملفات res في مشروعك تستطيع تكرارها على حسب اللغة او الدقة او القياس او الاتجاه .. إلخ.
خلاصة : اكمل مشروعك, بعدها قم بنسخ مجلد اللياوت مرتين يصبح لديك المجلد 3 مرات, قم بتغير اسمائها كما مذكور في الدرس ثم قم بفتح اللياوتات وعدل بالقياسات فيها.
إن شاء الله تكونوا قد استفدتم .. وإلى اللقاء في دروس جديدة وحصرية ~
اشكرك كثير ع الدرس الممتع والمفيد
العفو, واهلا وسهلا بك 🙂
جزاك الله خير,, بس عندي كم سؤال:
-بالنسبة للمجلدات شو بتحوي؟ صور ولا شو؟
– هلق انا بشتغل على اكلبس بعمل من كل صورة بدي استخدمها 3 قياسات وبوزعها على مجلدات drawable
وبعمل عرض Layout: fill_parent ,, بس عم يتم عندي مشكلة الارتفاع يلي اذا وضعتها مثلا 100dp رح يختلف بين شاشة وأخرى؟ هالشغل صح ولا لأ؟
امين يا رب جميعاً ..
مجلدات اللياوت , تحتوي ملفات اللياوت جميعهاً, نفس النسخة الاصل تقوم بتكرارها بأسماء مختلفة لكي تتغير الاحجام بشكل تلقائي ..
اممـ الصور التي تعمل لها عدة قياسات بالغالب هي الايقونات فقط .. فالافضل ان تكون عالية الدقة لذلك تقوم بتكرارها باحجام مختلفة ..
أما الصور العادة لا تحتاج إلى تكرارها .. تستطيع وضع واحدة كبيرة .. وتقوم بتصغيرها كيف تشاء وهكذا تظهر في حالة جيدة ..
صحيح يختلف , لذلك اتبع الطريقة التي في الدرس .. وهكذا تستطيع تعيين ارتفاع لكل شاشة .. وبالتوفيق 🙂
يعطيك العافية.. اليوم نزلت android studio وحاولت طبق هالدرس
وحااولت أعمل مجلد لياوت
New” -> “Android Resource Directory”. Give it the name “layout-large” and the type “layout”
بس ماعم يظهر المجلد layout-large تحت المجلد res ليش؟
ربي يعافيك خيي واهلا وسهلا فيك ..
بالنسبة لاندرويد ستوديو ع حسب المستويات احياناً بيتغير نمط المجلدات والملفات ..
أغلبها نمطين :
المرتب منها .. وهو الأفضل لن ترى مجلد layout-large واسماء هذه المجلدات من داخل اندرويد ستوديو .. ولكن تراها في مجلدات المشروع على جهازك ..
لكن عند الدخول إلى layout سوف تجد كل لياوت لديك .. يوجد منها أكثر من نسخة على حسب المجلدات لديك .. اي تستطيع فتح الواجهة الاولى .. بالحجم الصغير والكبير ..
أما النمط الأخر .. ترى المجلدات والملفات جميعها ..
مشكور الله يعطيك العافيه هذا من اجمل ما قراءت
الافضل استخدام :
res/layout/main_activity.xml # For handsets (smaller than 600dp available width)
res/layout-sw600dp/main_activity.xml # For 7” tablets (600dp wide and bigger)
res/layout-sw720dp/main_activity.xml # For 10” tablets (720dp wide and bigger)
نعم تستطيع ذلك, يوجد طرق مختلفة, كما ان هناك طرق من الاكواد تجعل التطبيق متوافق ,, ولكن نحاول قدر لامكان تبيسيط اسهل الطرق. شكراً لمشاركتك اخي
شكرا على الدرس القيم و المفيـد ..
لو سمحت عندي سؤال انت ذكرت اتلعديل في القياسات تبع الشاشات .. ممكن اعرف كيف يتم هذا ^^
العفو اخي, ممكن عند اي نقطة ؟! ..
شكرا لك على هذه المعلومات ، مقالاتك أفضل بكثير من غيرها.