قم بتغيير لون خلفية زر التبديل المرن
-
28-09-2019 - |
سؤال
ما هي أسهل طريقة لتغيير لون خلفية زر التبديل عند تحديده؟
لقد حاولت إنشاء بشرة مخصصة للزر وتطبيقه على خاصية Downskin ، لكن لا يمكنني معرفة كيفية تغيير لون الخلفية من داخل الجلد. كما أود تجنب استخدام صورة كخلفية إن أمكن.
المحلول
آمل أن أفهم ما تحتاجه.
في ملف بشرتك ، تم اختيار الحالة والاختراق هو ما تحتاجه لتحديد اللون عند تحديد togglebutton. يمكنك نسخ رمز الجلد الذي تم إنشاؤه من Flex لتعديله أو التحقق من الكود أدناه. أضفه أدناه </s:Rect>
علامة تحت <!--
الطبقة 2: fill @private-> `
<s:Rect id="fill2" left="1" right="1" top="1" bottom="1" radiusX="2">
<s:fill>
<s:LinearGradient rotation="90">
<s:GradientEntry color="0xFFFFFF"
color.upAndSelected="#333333" // you can modify color here
alpha="0.85"
/>
<s:GradientEntry color="0xD8D8D8"
color.upAndSelected="red" // you can modify color here
alpha.downAndSelected="1" />
</s:LinearGradient>
</s:fill>
</s:Rect>
الصق الكود أعلاه تحت
<!-- layer 2: fill -->
<!--- @private -->
<s:Rect id="fill" left="1" right="1" top="1" bottom="1" radiusX="2">
<s:fill>
<s:LinearGradient rotation="90">
<s:GradientEntry color="0xFFFFFF"
color.selectedUpStates="0xBBBDBD"
color.overStates="0xBBBDBD"
color.downStates="0xAAAAAA"
alpha="0.85"
alpha.overAndSelected="1" />
<s:GradientEntry color="0xD8D8D8"
color.selectedUpStates="0x9FA0A1"
color.over="0x9FA0A1"
color.overAndSelected="0x8E8F90"
color.downStates="0x929496"
alpha="0.85"
alpha.overAndSelected="1" />
</s:LinearGradient>
</s:fill>
</s:Rect>
أتمنى أن يساعد ذلك.
نصائح أخرى
لا طريقة سهلة. أفضل رهان لك هو فتح فلاش احترافي وإنشاء بشرة ؛ ثم قم بتعيين هذا الجلد إلى الزر كنمط باستخدام شيء مثل هذا:
MyButton.setStyle('skin', mySkin);
قد لا تنطبق هذه النصيحة إذا كنت تشير إلى Spark Togglebutton بدلاً من تبديل Halo [