2016-07-26 5 views
1

В Apache Flex есть карточная игра, которую я пытаюсь сохранить в живых, а пока iOS version все еще работает нормально, Android app разработал несколько визуальных проблем:Встраиваемые шрифты, все еще отображаемые в приложении iOS, но исчезли в приложении для Android

  1. в масть символы не отображаются правильно (моя главная проблема!)
  2. цвет текста ActionBar иногда черный
  3. BusyIndicator не вращается больше

Вот Android-скриншоты, демонстрирующие мою проблему:

screenshot 1

screenshot 2

Вот мой полный CSS файл:

@namespace s "library://ns.adobe.com/flex/spark"; 
@namespace mx "library://ns.adobe.com/flex/mx"; 

s|ActionBar { 
    chromeColor: #0066CC; 
    color: #FFFFFF; /* BUT WHY IS IT BLACK SOMETIMES? */ 
    titleAlign: center; 
    textShadowColor: #000000; 
    fontFamily: embFont; 
} 

@font-face { 
    src: url("/assets/fonts/arial.ttf"); 
    fontFamily: embFont; 
    embedAsCFF: false; /* required for StyleableTextField */ 
    unicodeRange: 
     U+0020-U+0040, /* Punctuation, Numbers */ 
     U+2660-U+2666, /* Card suits - BUT THEY STOPPED WORKING */ 
     U+0041-U+005A, /* Upper-Case A-Z */ 
     U+0061-U+007A, /* Lower-Case a-z */ 
     U+0410-U+0451; /* Cyrillic */ 
} 

s|LabelItemRenderer { 
    fontFamily: embFont; 
} 

А вот выдержка из MXML кода отображаются карты костюмы и индикатор занятости:

<s:titleContent> 
    <s:Label id="_titleTxt" 
      fontWeight="bold" 
      color="#FFFFFF" 
      width="100%" /> 

    <s:BusyIndicator id="_busy" 
        includeInLayout="false" 
        visible="false" /> 
</s:titleContent> 

<s:actionContent> 
    <s:CalloutButton id="_leftBtn" 
        icon="{VIP}" 
        verticalPosition="after" 
        includeInLayout="false" 
        visible="false"> 
     <s:VGroup width="100%"> 
      <s:Label id="_left0" fontSize="{Preferans.FONT_SIZE}" />    
      <s:Label id="_left1" fontSize="{Preferans.FONT_SIZE}" color="#FF0000" />    
      <s:Label id="_left2" fontSize="{Preferans.FONT_SIZE}" />    
      <s:Label id="_left3" fontSize="{Preferans.FONT_SIZE}" color="#FF0000" /> 
     </s:VGroup> 
    </s:CalloutButton> 
... 
</s:actionContent> 

Добавление следующего кода CSS специально для этикетки не помогает:

s|Label { 
    fontFamily: embFont; 
} 

Также я продолжаю устанавливать и перекомпиляцию моего приложения с каждым новым релизом Apache Flex и убедитесь, что я не забудьте установить дополнительный прогиб -fontkit.jar, но это не помогло:

screenshot 3

screenshot 4

Пожалуйста, помогите, что же изменилось в Apache Flex 4 Ове В последние несколько лет он нарушил мое приложение для Android?

Вот старая картина моего приложения, когда он работал должным образом:

screenshot 5

+1

Когда вы говорите, перестали работать ... делать вы имеете в виду регрессию от Flex 4.6 до 4.15? – Clintm

+0

Нет, он работал с Flex 4.12 или 4.13. Возможно, это версия для Android - у меня больше нет Android-телефона со старой версией.Задав этот вопрос, я надеялся, что кто-то укажет на некоторые запланированные изменения Flex, требующие адаптации в CSS на моей стороне ... –

ответ

2

Может быть, это? https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=50856172

С выпуском Apache Flex 4,14, мы ввели новые мобильные скины таргетингом iOS7 + и Android 4+ версии. Никаких изменений кода не требуется для использовать эти новые скины.

Но:

Если вы хотите продолжать использовать старый устаревший мобильную тему/скины, добавить эту директиву компилятора:

-includes=mx.utils.LegacyMobileThemeOverride 
+0

Спасибо. Я изменил настройки Flex Compiler моего мобильного проекта FlashBuilder на '-includes = mx.utils.LegacyMobileThemeOverride -locale = ru_RU, en_US, de_DE -source-path = locale/{locale} -show-unused-type-selector -warnings = false', но, к сожалению, он не имеет ни фиксированного шрифта, ни индикатора занятости. –