Edited at

Titanium SDK 4.0.0.GA Android での TabGroup の ActionBar問題

More than 3 years have passed since last update.

最近至るところで、全然マルチプラットフォーム楽じゃないとか、Titaniumてオワコンとか言われて、それって単に良く使いこなせてないか、昔のんしか知らないだけなんじゃ無いのと魂を濁らせてるTitaniumerの皆さんこんにちは。

某PodcastとかでもAppceleratorのクローズドソース的な誤解を受けてそうで辛いです。

TitaniumのSDKはオープンソースです。

もしあなたが最近のAlloyなTitaniumを触っていたとして、バギーだのAndroidしんどいなど感じたとしたらそれは、愛が足らないせいです。

否定は出来ないですけど。

さて、ひとしきり毒づいた所で、バギーなAndroidの話です。

Titanium SDK 3.3.0以降、ActionBarを非表示にするにはカスタムThemeを作って、


platform/android/res/values/theme.xml

<?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でも紹介されていました。


tiapp.xml

<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が混在している場合迄は追えていません。

本件はあくまで私に起こった事と状況から推測した事なので、間違い等あればコメントください。