android - vysor - تحميل برنامج droid screen




كيفية دعم حجم الشاشة المختلفة في الروبوت (6)

إضافة إلىud_an

ليس من الممارسات الجيدة إنشاء مجلدات مختلفة للتخطيطات. قم بإنشاء التخطيط الخاص بك بحيث يعمل بشكل جيد مع كافة أحجام الشاشة. لتحقيق ذلك ، قم بتشغيل سمات التنسيق. ما عليك سوى الحصول على صور مختلفة لأنواع hdpi و mdpi و ldpi. سوف تدار الباقي من قبل نظام التشغيل أندرويد.

أعمل على تطوير تطبيق في نظام Android ، ولا بد لي من دعم جميع أحجام الشاشات المختلفة وكثافتها. لذلك قمت بإنشاء مجلد مختلف للتخطيط: layout-small layout-large layout .

ثم قمت بإنشاء مجلد مختلف للصورة: ldpi, mdpi و hdpi . في جميع مجلد drawable يجب أن تكون الصورة ذات حجم مختلف صحيح؟ أطلب هذا السبب من لدي هاتف مع حجم الشاشة الكبيرة والمتوسطة الكثافة ، فإن الصورة المعروضة ستكون أصغر وأنها لن تأخذ الحجم الصحيح؟


استخدام مكتبة sdp التي يتم توفيرها في جيثب


بدءًا من Android 3.2 (مستوى واجهة برمجة التطبيقات 13) ، يتم إيقاف مجموعات الحجم (المجلدات الصغيرة والعادي والكبيرة و xlarge) لصالح تقنية جديدة لإدارة أحجام الشاشات استنادًا إلى عرض الشاشة المتاح.


هناك تكوينات موارد مختلفة يمكنك تحديدها استنادًا إلى المساحة المتوفرة للتخطيط الخاص بك:

1) عرض أصغر - الحجم الأساسي لشاشة ، كما هو موضح بأقصر مسافة في منطقة الشاشة المتاحة.

قيمة المؤهل: sw'dp value'dp

على سبيل المثال. سيتم استخدام res / sw600dp / layout.xml -> لجميع أحجام الشاشات أكبر أو تساوي 600dp. هذا لا يأخذ في الاعتبار اتجاه الجهاز.

2) عرض الشاشة المتاح - يحدد الحد الأدنى للعرض المتاح في وحدات dp التي يجب استخدام الموارد بها.

قيمة المؤهل: wdp value'dp

على سبيل المثال. سيتم استخدام res / w600dp / layout.xml -> لجميع الشاشات ، حيث يكون العرض أكبر من أو يساوي 600dp.

3) ارتفاع الشاشة المتاح - يحدد الحد الأدنى لارتفاع الشاشة في وحدات dp التي يجب استخدام الموارد بها.

قيمة المؤهل: hdp value'dp

على سبيل المثال. سيتم استخدام res / h600dp / layout.xml -> لجميع الشاشات ، التي يكون ارتفاعها أكبر من أو يساوي 600dp.


في النهاية ، قد تبدو بنية المجلد كما يلي:

res / layout / layout.xml -> للأجهزة المحمولة (أصغر من 600dp عرض متاح)
res / layout-sw600dp / layout.xml -> للأقراص مقاس 7 بوصات (600dp أكبر وأكبر)
res / layout-sw720dp / layout.xml -> للأقراص مقاس 10 بوصات (720dp عريضة وكبيرة)

لمزيد من المعلومات ، يرجى قراءة الوثائق الرسمية:
https://developer.android.com/guide/practices/screens_support.html#DeclaringTabletLayouts


يبدو النبيل ، عندما يتعلق الأمر بدعم أحجام الشاشة متعددة.النتائج التالية gvis أفضل.

res/layout/layout-w120dp
res/layout/layout-w160dp
res/layout/layout-w240dp
res/layout/layout-w160dp
res/layout/layout-w320dp
res/layout/layout-w480dp
res/layout/layout-w600dp
res/layout/layout-w720dp

يمكنك الضغط على عرض الجهاز وارتفاعه باستخدام مقاييس العرض

ضع / حدد أي مخطط يناسب العرض الناتج للجهاز.

let smallestScreenWidthDp="assume some value(Which will be derived from Display metrics)"

يجب التحقق من كل ذلك قبل setContentView () ، وإلا فإنك تضع نفسك في ورطة

     Configuration config = getResources().getConfiguration();

     Configuration config = getResources().getConfiguration();

        if (config.smallestScreenWidthDp >= 600) {
            setContentView(R.layout.layout-w600dp);
        } else {
            setContentView(R.layout.main_activity);
        }

في الجزء العلوي ، لقد قمت بإنشاء العديد من التخطيطات لتناسب شاشات متعددة ، كل ذلك يعتمد عليك ، يمكنك أو لا تستطيع. يمكنك مشاهدة استعراض متجر اللعب من أي واجهة برمجة التطبيقات ، التنزيلات عالية المستوى. .

آمل أن يساعدك كثيرا. كان يستخدم بعض مكتبات الطرف الثالث ، قد يكون من تقليل عملك ، ولكن هذا ليس أفضل الممارسات. تعوّد على أفضل ممارسات Android.

تحقق من هذا


يمكنك إنشاء صور نقطية لمستوى الدقة / الحجم سيتم تشغيل التطبيق الخاص بك وتغيير حجمها في التعليمات البرمجية (في وقت التشغيل)

تحقق من هذا المقال http://nuvornapps-en.blogspot.com.es/


يمكنك استخدام وحدة حجم sdp بدلاً من وحدة حجم dp. sdp وحدة حجم sdp بحجم الشاشة وغالبًا ما يتم تفضيلها لاستهداف أحجام شاشات متعددة.

استخدامه بعناية! على سبيل المثال ، في معظم الحالات ، لا تزال بحاجة إلى تصميم مخطط مختلف للأجهزة اللوحية.





screen