أداة الرسم 9-patch: ما معنى الخطوط السوداء خارج الشكل

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

  •  26-09-2019
  •  | 
  •  

سؤال

حاولت ما يكفي لإيجاد في Google & Android هذا السؤال. قام أيضًا بالعديد من التجارب والأخطاء ، لكن لم يستطع الحصول على هذا السؤال. كنت أتعلم صور Android "Draw Nine Patch". واحد أساسي أعرفه هو أنه مهما كانت الصورة التي يجب أن تعالجها يجب أن تكون بتنسيق .png (إذا كانت موجودة بالفعل .9.PNG ، فسيتم تجاهلها بواسطة الأداة). لكن،

  1. لم أستطع أن أفهم ما يعنيه حرفيًا من خلال "بقع ممتدة"؟
  2. ماذا يحدث بالضبط عندما ترسم نقاط سوداء خارج صورة .png؟ (يعرض جزء المعاينة تغييرات تحدث ، لكنني غير واضح حول كيفية تصنيعها)
  3. عندما أرسم النقاط السوداء في الجوانب اليسرى/العلوية من الصورة ، فإنه يظهر بعض التغييرات في المعاينة ؛ ولكن لماذا لا يوجد أي تأثير عندما تفعل الشيء نفسه على الجانب الأيمن/السفلي من الصورة؟
  4. لماذا يتم استخدام هذه الأداة بشكل أساسي للخلفية ، عندما نحاول المعالجة على الصورة نفسها؟
  5. أحاول تعديل زر بسيط. كلما استخدمت هذه الأداة ورسم الخطوط السوداء ، فإنها تقلل من حجم الصورة بدلاً من "تمديدها"! لماذا ا ؟
  6. ما هي أهمية الخيارات الواردة أدناه ، "إظهار قفل" ، "إظهار المحتوى" ، "مقياس التصحيح" وما إلى ذلك؟

أعتذر عن طرح العديد من الأسئلة ، لكن في مستندات Android عبر الإنترنت لم يشرحوا جيدًا للمبتدئين. إذا تمكن شخص ما من الإجابة على هذه ، فسيصبح مرجعًا جاهزًا لجميع الأشخاص الذين يبحثون عن هذا المنتدى.

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

المحلول

من خلال بقع قابلة للتمديد ، فأنت تخبر أندرويد بشكل أساسي من الصفوف والأعمدة من وحدات البكسل في الصورة التي تريد تكرارها. عندما تمتد صورة قياسية ، هناك احتمالان: واحد ، يتم تحجيمه بشكل متناسب ، ولكن لا يزال يفقد الحدة بسبب الاستيفاء ؛ ثانياً ، يتم تحجيمها بشكل غير متناسب ، ولا تفقد حدةها فحسب ، بل في شكلها أيضًا. مثال على التحجيم غير المتناسب أدناه:
stretched

لذا فإن الغرض من الخطوط السوداء يخبر Android ما هي مناطق الصورة آمنة لتكرارها. يحدد الزاوية العلوية العمود (العمود) الذي يمكن أن يمتد ، بينما يحدد الزاوية اليسرى الصف (الصفوف) التي يمكن أن تمتد. تحدد الزوايا السفلية واليمنى فقط منطقة المحتوى الفعلية (على سبيل المثال حيث يُسمح للزر بوضع النص) ، يمكنك حجز مساحة إضافية لإطار الإطار. في الصورة أدناه ، يمكنك أن ترى أن البكسلين السوداء في الجزء الخارجي من الإطار يحدد صفوفًا على الصورة ، بينما يحدد العرف في الأعلى عمودًا.


example

وأسفل ذلك ، يوضح هذا نتيجة تمتد 9 مقدمة إلى أحجام مختلفة. إذا تم توسيعها لتكون أوسع ، يتم محاذاة نصفي الصورة الموجودة على اليسار واليمين من العمود التمدد المحدد إلى اليسار واليمين من الحجم الجديد ، ويتكرر العمود المحدد لملء المساحة بينهما. نفس الشيء يحدث مع الصفوف المحددة ؛ إذا كنت تستخدم المضاعفات (لا أعتقد أنه يمكنك استخدام أكثر من صففين/عمود تمتد) ، فسيقوم فقط بوسادة المساحة مع كلاهما ؛ في هذه الحالة ، استخدمته للحفاظ على التدرج بالتساوي في الوسط.

stretched images result

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