هل من الممكن استخدام المجلدات الفرعية في الرسوميات في Android؟[ينسخ]

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

  •  14-11-2019
  •  | 
  •  

سؤال

لدي في تطبيقي عدة مجلدات ومجلدات فرعية للصور.هم داخل الأدراج.كيف يمكنني استرداد الصور من المجلدات الفرعية القابلة للرسم؟

مثال:

drawable>الإجراءات>الرياضة>soccer.png

كيف يمكنني الحصول على هذه الصورة "soccer.png"؟

هو موضع تقدير أي مساعدة.

شكرًا!

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

المحلول

لا, ، آلية موارد Android لا تدعم المجلدات الفرعية في الدليل القابل للرسم، ولا يمكنك وضعها.

أعتقد أنه إذا كان لديك مجلد فرعي يحتوي على أي عناصر فيه، فسيكون ضمن ملف res/drawable المجلد، سيؤدي إلى فشل برنامج التحويل البرمجي للمورد - مما يمنع ملف R.java الملف من أن يتم إنشاؤه بشكل صحيح.

الشيء الوحيد هو وضع الصور في أسماء مسطحة مثل، drawable_actions_sports_soccer.png.

نصائح أخرى

أصبح هذا ممكنًا الآن (نوعًا ما) باستخدام Android Studio وGradle.

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

على سبيل المثال، لتبسيط مشروعي، أردت أن أبقي الرسوميات الخاصة بالموضوع منفصلة عن الرسوميات القياسية.

لقد قمت بإنشاء مجلد موارد جديد باسم "res_lighttheme" كما هو موضح في الصورة أدناه.

Folder Structure

ثم أضفت مؤشرًا إلى هذا المجلد إلى ملف build.gradle الخاص بي مثل هذا.لإضافة أكثر من واحد فقط أضف سطرًا آخر إلى التعريف.

Build Gradle

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

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