تطبيق أنماط ديناميكية على الجلود في المرن
-
21-09-2019 - |
سؤال
لديّ جلد لإبهام شريط التمرير الذي أريد أن أكون قادرًا على التصميم أو ضبط الخصائص ديناميكيًا.
<mx:Panel
verticalScrollBarStyleName="verticalScrollBarNoArrows">
</mx:Panel>
style.css
.verticalScrollBarNoArrows
{
upArrowSkin: ClassReference(null);
downArrowSkin: ClassReference(null);
trackSkin: ClassReference(null);
thumbSkin: ClassReference("skins.ScrollBarThumb");
}
scrollbarthumb.as (مقتطف)
public class ScrollBarThumb extends Border
{
[Bindable]
private var cornerRadius:Number = 2;
[Bindable]
private var backgroundColor:uint = 0x222222;
[Bindable]
private var xOffset:int = -3;
أريد أن أكون قادرًا على ضبط هذه الخصائص في الجلد حتى يمكن تصميم الجلد بشكل مختلف لكل مكون يستخدمه.
كيف تقترح أن أفعل هذا؟
المحلول
يجب عليك عادة ضبط الأنماط على الجلد كأنماط وليس كخصائص:
[Style(name="cornerRadius", type="Number", format="Length", inherit="yes")]
ثم في updateDisplayList
تستطيع الاتصال getStyle("cornerRadius")
عندما ترسم الجلد.
لا تنتمي إلى StackOverflow