كود مصدر Android لـ ProgressBar.java ليس له أي معنى
-
28-10-2019 - |
سؤال
أقوم بمراجعة كود مصدر ProgressBar.java من Android SDK.في السطر 191 من android.widget.ProgressBar ينص على ما يلي:
mMinHeight = a.getDimensionPixelSize(R.styleable.ProgressBar_minHeight, mMinHeight));
لماذا يستخدم mMinHeight في قائمة المعلمات في نفس الوقت كما يتم تهيئته؟؟يمكن للشخص أن يلقي الضوء على هذا؟يمكن العثور على كود المصدر الكامل هنا على com.grepcode.
المحلول
انظر على الخط 171 حيث يتصل initProgressBar
؟تقوم هذه الطريقة بتهيئة mMinHeight إلى القيمة 24.ثم الدعوة إلى getDimensionPixelSize
يستخدم ذلك كقيمة افتراضية.
نصائح أخرى
المعلمة الثانية هي مجرد قيمة افتراضية يجب إرجاعها إذا getDimensionPixelSize
غير قادر على العثور على القيمة المطلوبة.من الشائع (وإن كان غريبًا بعض الشيء) تمرير المتغير الذي تحاول تعيينه كقيمة افتراضية.على نحو فعال، يقول هذا الرمز "قم بتعيين هذه القيمة إذا كانت لديك، أو اترك المتغير كما هو إذا لم يكن لديك".