работа с Flash Builder несколько раз становятся настолько сложными, чем другой SDk как визуальный Stadio ... мы должны заботиться о деталях, например, в MultiDPIBitmapSource помощью Flash Builder Сих :
Этот класс предоставляет список растровых изображений для различных плотностей времени выполнения.
It is supplied as the source to BitmapImage or Image and as the icon of a Button
. Компоненты будут использовать Application.runtimeDPI, чтобы выбрать, какое изображение будет отображаться.
поэтому мы не можем использовать MultiDPIBitmapSource в bitmapFill in rect. Кроме того, мы, возможно, хотим использовать этот код для решения задачи:
<fx:Script>
<![CDATA[
.
.
switch(FlexGlobals.topLevelApplication.runtimeDPI)
{
case DPIClassification.DPI_240 :
bgFill.source = "images/backgroundSkin/160/image.jpg
break;
case DPIClassification.DPI_160 :
bgFill.source = "images/backgroundSkin/160/image.jpg
break;
case DPIClassification.DPI_320 :
bgFill.source = "images/backgroundSkin/160/image.jpg
break;
}
.
.
]]>
</fx:Script>
.
.
<s:Rect id="background2" left="0" right="0" top="0" bottom="0" width="100%" height="100%" >
<s:fill>
<s:BitmapFill id="bgFill" fillMode="repeat" />
</s:fill>
</s:Rect>
но вы можете увидеть этот код также не работает я думаю, идентификатор BitmapFill является anknown в коде сценария .. никоим образом единственным способом, который работал для меня было использование погрузчика: . .
.switch(FlexGlobals.topLevelApplication.runtimeDPI)
{
case DPIClassification.DPI_240 :
loader.load(new URLRequest("images/backgroundSkin/240/image.jpg"));
loader.contentLoaderInfo.addEventListener(Event.COMPLETE,loaderComplete);
break;
case DPIClassification.DPI_160 :
loader.load(new URLRequest("images/backgroundSkin/160/image.jpg"));
loader.contentLoaderInfo.addEventListener(Event.COMPLETE,loaderComplete);
break;
case DPIClassification.DPI_320 :
loader.load(new URLRequest("images/backgroundSkin/320/image.jpg"));
loader.contentLoaderInfo.addEventListener(Event.COMPLETE,loaderComplete);
break;
}
}
public function loaderCompleteHandler(evt:Event):void
{
bgFill.source = evt.target.content;
}