Из-за плотности экрана iPhone, изображения активов развиты больше. Таким образом, при указании значков и изображений компонентам Flex эта форма.Как управлять размером изображений в мобильных приложениях с помощью ActionScript?
<s:ViewNavigator id="tab1" label="Tab1 width="100%" height="100%" firstView="views.Tab1">
<s:icon>
<s:MultiDPIBitmapSource source160dpi="@Embed('assets/tabIcon.png')"/>
</s:icon>
</s:ViewNavigator>
Flex, конечно, делает это правильно и подстраивает размер к тому, каким он должен быть.
Однако, когда я загружаю изображения самостоятельно, они выглядят взорванными, поскольку они выглядят двойными по размеру.
Это то, как я использую его при переопределении панели вкладок.
public class TabbedViewNavigatorTabBarSkin extends ButtonBarSkin
{
[Embed (source="/assets/tabBar.png")]
private var TabBarPng:Class;
override protected function createChildren():void
{
var bgb:Bitmap = new TabBarPng() ;
addChild(bgb);
}
}
Это изображение появляется взорван. Что я делаю не так?
У вас есть прикладной набор параметров, если Flex будет масштабировать все на основе фактического DPI applicationDPI/runtime. Поэтому, если applicationDPI будет ниже фактического DPI, он увеличит ваши компоненты. В первом случае вы используете класс, который специально выбирает, какое изображение использовать в зависимости от того, что вы укажете, и от того, какой DPI времени выполнения (и я полагаю, что дальнейшее масштабирование не происходит). В другом случае вы просто говорите ему, что используете Bitmap, но не указали, что он уже масштабирован соответствующим образом ... не можете ли вы использовать MultiDPIBitmapSource и установить его source160dpi = new TabBarPng()? – shaunhusain
Я не уверен, что знаю, что вы имеете в виду. Не могли бы вы разместить этот фрагмент кода? Если это работает, я более чем счастлив использовать его, это выглядит как хороший подход. И нет, я специально не устанавливал applicationDPI. Мои изображения - 72ppi и размер сетчатки. – Ska
Ошибка, она установлена на 160. – Ska