最近至るところで、全然マルチプラットフォーム楽じゃないとか、Titaniumてオワコンとか言われて、それって単に良く使いこなせてないか、昔のんしか知らないだけなんじゃ無いのと魂を濁らせてるTitaniumerの皆さんこんにちは。
某PodcastとかでもAppceleratorのクローズドソース的な誤解を受けてそうで辛いです。
TitaniumのSDKはオープンソースです。
もしあなたが最近のAlloyなTitaniumを触っていたとして、バギーだのAndroidしんどいなど感じたとしたらそれは、愛が足らないせいです。
否定は出来ないですけど。
さて、ひとしきり毒づいた所で、バギーなAndroidの話です。
Titanium SDK 3.3.0以降、ActionBarを非表示にするにはカスタムThemeを作って、
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="Theme.NoActionBar" parent="@style/Theme.AppCompat">
<item name="windowActionBar">false</item>
<item name="android:windowNoTitle">true</item>
</style>
</resources>
tiapp.xmlでAndroidManifestに反映する方法が、Appcelerator公式Blogでも紹介されていました。
<android xmlns:android="http://schemas.android.com/apk/res/android">
<manifest>
<application android:theme="@style/Theme.NoActionBar"/>
</manifest>
</android>
SDK 3.5.1.GAまではこの方法は有効です。
4.0.0.GAでも、この方法は概ね使えるのですが、TabGroupを使っている場合は注意が必要です。
上記ThemeでTabGroupを使っている場合、SDK 4.0.0.GAに上げると、こうなってOpenできなくなります。
[ERROR] TabGroupProxy: (main) [549,549] ActionBar not available for TabGroup
Themeを無効化すればTabGroupにはActionBarが表示されないので良いのですが、3.5.1.GAの時は問題なかったので少し焦りました。
あとTabGroupと通常のWindowが混在している場合迄は追えていません。
本件はあくまで私に起こった事と状況から推測した事なので、間違い等あればコメントください。