LoginSignup
3
3

More than 5 years have passed since last update.

Titanium 3.3.0でAndroidのナビゲーションバー(タイトルバー)を消す方法

Posted at

Titanium 3.3.0では,従来の方法ではAndroidのナビゲーションバーを非表示にすることができなくなっています.この記事では3.3.0でAndroidのナビゲーションバーを非表示にする方法を記述します.

Titanium 3.3.0以前の方法

3.3.0以前ではtiapp.xmlのAndroidマニフェストに以下のコードの記述や

<navbar-hidden>true</navbar-hidden>

非表示にするwindowに対してnavBarHidden="true"を設定することでナビゲーションバーを非表示にできましたが,3.3.0ではこれらを設定してもタイトルバーがしれっと存在してます.

Titanium 3.3.0での非表示の方法

方法としては2つあります.1つは,アプリが起動した時にJS側でwin.activity.actionBar.hide();を呼び出す方法です.
もう一つは,Androidのナビゲーションバー非表示のカスタムテンプレートを作成して読み込ませる方法です.

1.JavaScript側で非表示にする方法

ウィンドウが生成されたときに,hideメソッドを呼んで非表示にする方法です.以下のようにapp.js(Alloyであれはコントローラに)actionBarインスタンスのhideメソッドを呼ぶことによってウィンドウが開かれた時にときにアクションバーを非表示にさせます.

win.addEventListener('open', function(){
  win.activity.actionBar.hide();
});

2.Androidカスタムテンプレートを作成して非表示にする方法

以下の様な階層でディレクトリを作成し,任意の名前(以下だとcustom_theme)をつけてxmlファイルを作成します.

cd プロジェクトフォルダ
mkdir -p platform/android/res/values
vim platform/android/res/values/custom_theme.xml

custom_theme.xmlは以下のように記述します.

<?xml version="1.0" encoding="utf-8"?>
<resources>
  <style name="Theme.NoActionBar" parent="@style/Theme.Titanium">
    <item name="windowActionBar">false</item>
  </style>
</resources> 

上で作成したカスタムテーマを読み込むためにtiapp.xmlを修正します.applicationタグで上で作成したカスタムテーマを読み込んでいます.

<android xmlns:android="http://schemas.android.com/apk/res/android">
  <manifest>
    <application android:theme="@style/Theme.NoActionBar"/>
    <uses-sdk android:minSdkVersion="14" android:targetSdkVersion="19"/>
  </manifest>
</android>
3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3