تعريف مضمن للرسومات غير النقطية في عناصر LayerList أو LevelList XML

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

سؤال

توثيق مواصفات موارد XML لـ قائمة الطبقات و قائمة المستوى الرسوميات تقول أن item سوف يقبل العنصر فقط bitmap كعنصر فرعيعلى بعض إجابات وفيما يتعلق بقوائم المستوى، أرى أن الناس يضيفون shape العلامات كأطفال ل item العلامات.لقد جربت ما يلي ويبدو أنه يعمل بشكل جيد.

<?xml version="1.0" encoding="utf-8"?>
<level-list xmlns:android="http://schemas.android.com/apk/res/android">
  <item android:maxLevel="0">
    <shape android:shape="rectangle">
      <solid android:color="#ff0000" />
    </shape>
  </item>
  <item android:maxLevel="1">
    <shape android:shape="oval">
      <solid android:color="#0000ff" />
    </shape>
  </item>
</level-list>

هنا سؤالي. هل تم توثيق هذا في أي مكان، أم يجب أن أتجنب هذا النوع من البناء لأنه غير مدعوم في جميع إصدارات واجهة برمجة التطبيقات، أم أن الوثائق ببساطة غير مكتملة وما ورد أعلاه قانوني تمامًا؟

للتوضيح، أعلم أنه يمكنني تحديد أي نوع من الرسوميات باستخدام ملفات موارد منفصلة والإشارة إليها باستخدام ملف android:drawable يصف. يشير السؤال إلى المواصفات المضمنة للرسومات التعسفية ضمن XML لقائمة الطبقات أو قائمة المستويات.

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

المحلول 2

الجواب نعم، إنه سلوك مسموح ومدعوم.

على الرغم من عدم توثيقها، يتم استخدام العلامات غير النقطية في موارد Android XML الرسمية.على سبيل المثال مصدر progress_large_holo.xml يحتوي على ما يلي.

<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item>
        <rotate
             android:drawable="@drawable/spinner_76_outer_holo"
             android:pivotX="50%"
             android:pivotY="50%"
             android:fromDegrees="0"
             android:toDegrees="1080" />
    </item>
    <item>
        <rotate
             android:drawable="@drawable/spinner_76_inner_holo"
             android:pivotX="50%"
             android:pivotY="50%"
             android:fromDegrees="720"
             android:toDegrees="0" />
    </item>
</layer-list>

تكشف مصادر أخرى أيضًا أن أي XML يتم قبوله كمورد قابل للرسم يمكن وضعه داخل ملف item العلامات.

نصائح أخرى

ولا ينص على أنه يقبل فقط Bitmap الأشياء، لكنها ستقبلها.يمكنك استخدام ال android:drawable لتحديد رسم.اسحب الأشكال الخاصة بك إلى تعريف XML القابل للرسم الخاص بها وقم بالرجوع إليها في قائمة المستويات.

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