سؤال

ما هي أسهل طريقة لتغيير لون خلفية زر التبديل عند تحديده؟

لقد حاولت إنشاء بشرة مخصصة للزر وتطبيقه على خاصية 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 [

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