مجموعة Flex عرض عنصر إلى 100٪ في وقت التشغيل؟
-
20-08-2019 - |
سؤال
إذا أنا خلق رأي حقل إدخال من خلال MXML
، ويمكنني أن تعيين عرض ل100%
. لكنني لا يمكن أن يبدو للقيام بذلك في وقت التشغيل من خلال أكشن.
وهذا يعمل:
<mx:TextInput ... width="100%" />
وهذا لن تجميع، ويقول العرض هو عدد، وليس سلسلة:
var textinp:TextInput = new TextInput();
someContainer.addChild(textinp);
textinp.width = "100%"
وكيف يمكنني ضبط 100%
كحجم على عنصر تم إنشاؤها في وقت التشغيل عبر أكشن؟
المحلول
وتحتاج فقط إلى استخدام السمة percentWidth
، بدلا من السمة width
.
وهكذا، السطر الثالث في التعليمات البرمجية سيكون:
textinp.percentWidth = 100;
وهذا تعثرت لي حتى لحظة، أيضا.
نصائح أخرى
إذا أردت لاحقا للرجوع إلى الاعراض بكسل القائم لنفس العنصر، وهنا ما عليك القيام به:
textinp.percentWidth = NaN;
والجواب أعلاه صحيحة، ولكن لا أستطيع التعليق على ذلك كوز أنا جديدة جدا لSO.
وعندما تريد إضافة هذه الوظيفة إلى مكون مخصص، يمكنك أن تفعل شيئا من هذا القبيل:
[PercentProxy("percentMultiplier")]
public function set multiplier(value:Number):void
{
_multiplier = value;
invalidSomethingOrDoSomething();
}
public function set percentMultiplier(value:Number):void
{
multiplier = value / 100;
}
وبطبيعة الحال، عندما كنت أفعل ذلك لعرض والفئات الفرعية الحاويات يبحثون عن percentWidth م>، و لا تفتيش للmetada، حتى لا يطلق عليه <م> widthInPercent م> أو أي شيء، حتى لو كنت تستطيع.
وهنا هو الجواب:
var textinp:TextInput = new TextInput();
someContainer.addChild(textinp);
textinp.percentWidth = 100;