Bug Android 2.1: يستخدم RES/Layout-V3 بدلاً من الدقة/التخطيط

StackOverflow https://stackoverflow.com/questions/2108557

  •  22-09-2019
  •  | 
  •  

سؤال

بالإضافة إلى الجنرال res/layout المجلد لدي res/layout-v3مجلد التوافق مع الإختصاص مع Android 1.5 ، والذي يعاني من مشاكل مع البعض RelativeLayout تخطيطات.

إنه يعمل بشكل مثالي مع جميع الهواتف وإصدارات المحاكي التي تم اختبارها حتى الآن. باستثناء 2.1 (المحاكي و Nexus واحد). يختارون عرض تخطيط Android 1.5 (res/layout-v3) بدلا من الافتراضي res/ layout.

هل يمكن لأي شخص آخر تأكيد ذلك؟ هل هذا خطأ في نظام التشغيل Android؟ إذا كان الأمر كذلك ، فأين هو أفضل مكان لتقديم تقرير الأخطاء؟


تحديث:

بعد القراءة على https://developer.android.com/guide/practices/screens_support.html#qualifiers مرة أخرى (شكرا مارك على التلميح) ، وخاصة هذا الجزء

الموارد المخصصة للاستخدام فقط على مستوى API محدد أو أعلى. على سبيل المثال ، إذا تم تصميم التطبيق الخاص بك ليتم تشغيله على كل من Android 1.5 (مستوى API 3) و Android 1.6 (مستوى API 4 وأعلى) ، فيمكنك استخدام مؤهل -v4 لوضع علامة على أي موارد يجب استبعادها عند تشغيل التطبيق الخاص بك على Android 1.5 (API المستوى 3).

لقد غيرت طلب التخطيط الخاص بي من وجود

  • RES/Layout -V3 (لنظام Android 1.5 فقط -> كان هذا افتراضًا خاطئًا قمت به)
  • الدقة/التصميم (لأي شيء آخر)

إلى تكوينه الجديد من:

  • RES/Layout-V4 (لنظام Android 1.6 وأعلى)
  • RES/Layout (لأي شيء آخر -> في هذه الحالة سيكون هذا Android 1.5 فقط)

إذا فهمت الوثائق أعلاه بشكل صحيح وإذا كانت افتراضاتي في الأقواس صحيحة هذه المرة ، فيجب أن تعمل الآن. ومع ذلك ، فإن النتيجة هي ما يلي:

  • يستخدم Android 1.5 res/layout -> موافق
  • يستخدم Android 1.6 res/layout -v4 -> موافق
  • يستخدم Android 2.0 RES/Layout -> ليس جيدا
  • يستخدم Android 2.1 Res/Layout -V4 -> موافق

فلماذا لا يتم اختيار Android 2.0 (على كل من المحاكي و Motorola Milestone)؟

لقد اختبرته ثم مرة أخرى مع 2.0.1 ويبدو أنه يعمل هناك. يبدو أن هذا خطأ في 2.0 والذي تم إصلاحه في 2.0.1

ولكن الآن أغرب شيء: من أجل جعلها تعمل بطريقة أو بأخرى على 2.0 ، قمت بنسخ مجلد RES/Layout-V4 إلى RES/Layout-V5 لإجبار Android 2.0 باستخدام مورد التخطيط هذا. لم ينجح. ولكن بعد ذلك حاولت نسخها إلى الدقة/التصميم-V6 (والتي من المفترض أن تكون Android 2.0.1) وفولا فجأة تعمل مع 2.0. غريب جدا! لكنني آمل أن يساعد هذا الحل البديل عدد قليل من الأشخاص الآخرين هناك.

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

المحلول

لقد اختبرت العديد من الأجهزة والمحاكيات (وإن لم تكن شديدة الشديد) ، ويبدو أن مجلد الموارد المحدد هو الذي يضم إصدار أعلى <= إصدار الجهاز.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top