0

シンプルなチタンモバイルアプリケーションを作成します。最初はボタンを押すと新しいウィンドウを開きたいです。モーダルウィンドウを使用すると、タイトルバーが表示されるので、次のようにボタンを元に戻すことができます。

ここに画像の説明を入力してください

これを行うための私のコードは次のとおりです。

    var MainMenu = require('ui/common/option2/MainMenu');

    var mainMenuWindow = Titanium.UI.createWindow({
        title:'Main Menu',
        backgroundColor:'white',
        modal:true,
        navBarHidden:Ti.Platform.osname ==='android' ? true : false
    });

    var mainMenu = new MainMenu(mainMenuWindow);
    mainMenuWindow.add(mainMenu);

    mainMenuWindow.open();

しかし、クリアmodal:trueすると、タイトルバーは次のように表示されません。

ここに画像の説明を入力してください

モーダルなしで新しいウィンドウを開いたときにタイトルバーを表示/追加する方法を知っている人はいますか?ツールバーを使ってみましたが、フォントサイズやボタンの位置さえも定義する必要があるので、本当に面倒でした:(何か提案はありますか?ありがとうございます。

4

2 に答える 2

4

実際には、モーダルを使用せずにタイトルバーを表示することには問題があるため、ここで微調整を行います。

タブグループを追加してウィンドウをそのタブに追加し、そのウィンドウに対して`tabBarHidden'をtrueに設定する必要があります。

アプリを実行すると、タイトルバーが表示されます。

これがそのサンプルコードです

var tabGroup = Ti.UI.createTabGroup();

var win = Ti.UI.createWindow({
  backgroundColor:'#fff',
  tabBarHidden:true
});

var tab = Ti.UI.createTab({
   window: win,
  title: 'my win'
});

tabGroup.addTab(tab);

tabGroup.open();

上記のソリューションはiOSで機能します。

Androidの場合の秘訣は次のとおりです。

これらの行をファイルに追加し<app-project-dir>/platform/android/res/layout/titanium_tabgroup.xmlます。

<?xml version="1.0" encoding="utf-8"?>
<TabHost xmlns:android="http://schemas.android.com/apk/res/android"
  android:id="@android:id/tabhost"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent">

<LinearLayout
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:padding="0dp">

    <FrameLayout
        android:id="@android:id/tabcontent"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:padding="0dp"
        android:layout_weight="1"/>

    <TabWidget
        android:id="@android:id/tabs"
        android:layout_width="fill_parent"
        android:layout_height="0dp"
        android:layout_weight="0"/>

</LinearLayout>

</TabHost>
于 2012-10-31T13:56:54.540 に答える
-2

navBarHiddentrueに設定しました。これを試して:

var mainMenuWindow = Titanium.UI.createWindow({
    title:'Main Menu',
    backgroundColor:'white',
    modal:true,
    navBarHidden: false // always show nav bar
});
于 2012-10-19T11:54:53.917 に答える