2016-07-26 35 views
1

Es gibt ein Kartenspiel in Apache Flex geschrieben, die ich am Leben zu halten versuchen und während die iOS version immer noch in Ordnung funktioniert, hat die Android app mehrere visuelle Probleme entwickelt:Embedded Fonts noch in iOS-App angezeigt, aber in Android-App verschwunden

  1. Die Karte Anzug Symbole sind nicht richtig (mein Hauptproblem!) angezeigt
  2. Die ActionBar Textfarbe manchmal schwarz ist
  3. Der BusyIndicator nicht mehr dreht

Hier sind die Android-Screenshots zeigen mein Problem:

screenshot 1

screenshot 2

Hier ist meine komplette CSS-Datei:

@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; 
} 

Und hier ist der Auszug von MXML-Code anzeigt Karte Anzüge und der beschäftigt Indikator:

<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> 

Hinzufügen folgenden CSS-Code speziell für die Etiketten nicht helfen:

s|Label { 
    fontFamily: embFont; 
} 

Auch halte ich die Installation und neu zu kompilieren meine app mit jeder neuen Apache Flex-Release und stellen Sie sicher, dass ich nicht zu vergessen die optionalen Flex zu installieren -fontkit.jar aber das nicht hilft:

screenshot 3

screenshot 4

Bitte helfen Sie, was in Apache Flex 4 ove geändert haben in den letzten paar Jahren, dass es meine Android App gebrochen hat? Hier

ist ein altes Bild von meiner app, wenn es richtig funktioniert:

screenshot 5

+1

Wenn Sie mit der Arbeit sagen gestoppt ... tun Sie meinen Regression von Flex 4.6 zu 4.15? – Clintm

+0

Nein, es funktionierte auch mit Flex 4.12 oder 4.13. Vielleicht ist es Android-Version ändern - Ich habe kein Android-Telefon mit einer älteren Version mehr.Indem ich diese Frage gestellt habe, hatte ich gehofft, dass jemand auf eine geplante Flex-Änderung hinweist, die eine Anpassung in CSS auf meiner Seite erfordert ... –

Antwort

2

Vielleicht? https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=50856172

Mit dem Release von Apache Flex 4.14, haben wir neue Mobil Häuten iOS7 + und Android 4+ Versionen Targeting. Es ist keine Codeänderung erforderlich, um diese neuen Skins zu zu verwenden.

Aber:

Wenn Sie wollen mobil Thema/skin mit dem alten Erbe weiterzutragen, diese Compiler-Direktive hinzufügen:

-includes=mx.utils.LegacyMobileThemeOverride 
+0

Danke. Ich habe die "Flex Compiler" -Einstellungen meines FlashBuilder-Mobile-Projekts in '-includes = mx.utils.LegacyMobileThemeOverride -locale = ru_RU, de_DE, de_DE -source-path = locale/{locale} -show-unused-type-selector geändert -warnings = false "aber leider hat es weder die Schriftart, noch die Besetztanzeige behoben. –