Flex滾動條常見問題解答
本文和大家重點(diǎn)討論一下使用Flex滾動條過程中常見的一些問題,F(xiàn)lex滾動條雖然很好用,但總是會出現(xiàn)意想不到的問題,這里向大家介紹一下,希望本文的介紹能讓你有所收獲。
Flex滾動條問題
Flex滾動條雖然很好用,但總是會出現(xiàn)意想不到的問題。前幾天說了,拖動后花屏的問題,今天又發(fā)現(xiàn)了更惡心的問題。當(dāng)你把容器的寬度調(diào)為100%后,verticalScrollbarPolicy用默認(rèn)的auto。這是如果你縮放窗口會出現(xiàn)Flex滾動條,但問題這是就出現(xiàn)了,只要出現(xiàn)了垂直Flex滾動條,水平Flex滾動條就是被迫出現(xiàn)。
- viewplaincopytoclipboardprint?
- <?xmlversionxmlversion="1.0"encoding="utf-8"?>
- <mx:Applicationxmlns:mxmx:Applicationxmlns:mx="http://www.adobe.com/2006/mxml"layout="absolute"xmlns:local="*">
- <mx:Canvaswidthmx:Canvaswidth="100%"height="700"/>
- </mx:Application>
- <?xmlversionxmlversion="1.0"encoding="utf-8"?>
- <mx:Applicationxmlns:mxmx:Applicationxmlns:mx="http://www.adobe.com/2006/mxml"layout="absolute"xmlns:local="*">
- <mx:Canvaswidthmx:Canvaswidth="100%"height="700"/>
- </mx:Application>
這是是由于flex在計(jì)算前面的百分比時,把垂直Flex滾動條的寬度也算上了,我一開始以為是flex的bug。使其他的官方文檔中寫了一句很華麗的話。
- "FlexconsidersscrollbarsinitssizingcalculationsonlyifyouexplicitlysetthescrollpolicytoScrollPolicy.
- ON.So,ifyouuseanautoscrollpolicy(thedefault),thescrollbaroverlapsthebuttons.Topreventthisbehavior,
- youcansettheheightpropertyfortheHBoxcontainerorallowtheHBoxcontainertoresizebysettingapercentage-basedwidth.
- RememberthatchangingtheheightoftheHBoxcontainercausesothercomponentsinyourapplicationtomoveandresizeaccordingtotheirownsizingrules."
- --FromSizingComponentsintheFlex3help,under"UsingScrollbars"
就這樣回避了這個問題。但有個辦法你可以解決這個問題,重載validateSize方法
- viewplaincopytoclipboardprint?
- //InyourApplication,moduleorwhereveryouneedthisworkaround.
- overridepublicfunctionvalidateSize(recursive:Boolean=false):void{
- super.validateSize(recursive);
- if(!initialized)return;
- if(height<measuredHeight)verticalScrollPolicy=ScrollPolicy.ON;
- elseverticalScrollPolicy=ScrollPolicy.OFF;
- }
【編輯推薦】
- FlexBuilder快捷鍵使用說明
- Flex2.0Beta1新功能出爐
- 揭露Flex2.0的幾大誤區(qū)
- FlexBuilder3.0與Eclipse3.4的***結(jié)合
- 剖析Flex DataGrid分頁控件的兩種分頁形式用法