سؤال

وأنا السلخ التمرير في بلدي التطبيق المرن وحصلت مشكلة واحدة. هذه الساحة البيضاء بين التمرير (عرض صورة) ruibs كل ما عندي من تصميم ولست بحاجة لتعطيله، وجعلها غير مرئية، تغييره لون الخلفية، وألفا أو شىء من هذا القبيل.

وأنا يمكن لصق بعض الرموز هنا ولكن أعتقد أن ليست هناك حاجة في ذلك. العمل في فليكس 3. أي أفكار؟

بديل النص http://img97.imageshack.us/img97/9206/scrollbar بابوا نيو غينيا

هل كانت مفيدة؟

المحلول

وأنا في الحقيقة وجدت الجاني النظر داخل الإطار المرن. يتم إنشاء هذه الساحة (وتسمى whiteBox) في Container.as.

وانها جميلة وسهلة للتخلص من ذلك، لديك فقط لإنشاء فئة توسيع الحاوية التي تريد استخدامها.

وExemple لقماش:

package
{
    import mx.containers.Canvas;

    public class NoWhiteBoxCanvas extends Canvas
    {

        public function NoWhiteBoxCanvas()
        {
            super();
        }

        override public function validateDisplayList():void
        {
            super.validateDisplayList();
            this.whiteBox.visible = false;
        }

    }
}

و
ثم في MXML الخاص بك:

<local:NoWhiteBoxCanvas width="300" height="300" horizontalScrollPolicy="on" verticalScrollPolicy="on"/>

و
... ثم مربع لا بيضاء بعد الآن؛)

نصائح أخرى

هل حاول وضع

background-alpha: 0.0;

وعلى الوعاء الذي هو الحصول على أشرطة التمرير؟ يجب أن ندع المستطيل الحاوية التقاط لون الوالد الحين.

واحد خدعة قذرة سيكون لاستخدام قناع لاخفاء ذلك المربع. شيء من هذا القبيل:

<mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="creationComplete()">

    <mx:Script>
        <![CDATA[
            import mx.core.UIComponent;

            public function creationComplete():void
            {
                var compMask:UIComponent = new UIComponent;
                compMask.graphics.beginFill( 0xff0000 );
                compMask.graphics.drawRect( 0, 0, comp.width, comp.height - 16 );
                compMask.graphics.drawRect( 0, comp.height - 16, comp.width - 16, 16 );
                compMask.graphics.endFill();
                addChild( compMask );
                comp.mask = compMask;
            }
        ]]>
    </mx:Script>

    <mx:Canvas id="comp" width="300" height="300" horizontalScrollPolicy="on" verticalScrollPolicy="on"/>

</mx:WindowedApplication>

وحاولت فقط، وأنها تعمل. سيكون لديك فقط لإعادة رسم القناع في كل مرة يتم تغيير حجم المكون. أن أفضل شيء أن يكون لإنشاء فئة مخصصة التي تمتد قماش وقيام بهذه المهمة نفسها.

وتحرير: وبطبيعة الحال، سوف ترغب في تغيير "16" من وزن التمرير عهدك إذا كانت القيمة مختلفة

وأن يكون لديك بالفعل إجابة جيدة ولكن بديل آخر هو إدارة التمرير يدويا. يمكنك وضع أي مكان التمرير في التطبيق الخاص بك ثم ربط تمرير التحكم الذي تريد. القيام بذلك يمكن أن تحصل على نحو فعال شريط التمرير العمودي لتمتد تلك اضافية 16 بكسل لتغطية whitebox. علما بأن أود أن تفعل ذلك إلا إذا كانت مضمونة في حاجة دائما التمرير. هل النوع من نهاية المطاف تبدو وكأنها بلدي النص سيئا حقا الرسم هنا:

          |  |
          |  |
__________|__|
_______| >|\/|
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top