2

アクション バーがあるデバイスでいくつか問題が発生しました。電話で実行しているときは、タイトル バーとステータス バーのない全画面表示にしたいと考えています。タブレットでは、アクション バーを表示したいのですが、タイトル バーは表示されません。ミンスクは7!全画面表示に切り替えると setTheme メソッドが機能しないため、2 つのテーマを使用できません。フルスクリーン モードでアクション バーを表示する方法はありますか? サポート ライブラリはアクション バーをサポートしていません。

そもそもこれをやりたい唯一の理由は、メニューキーをアクションバーに移動することによって、正当な理由がまったくなく、後方互換性を壊したからです。ドキュメントによると、これに対する簡単な解決策は、メニュー項目に android:showAsAction="ifRoom" を追加することです。しかし、それは絶対に何もしません。

また、フルスクリーンに切り替えると思われるGoogleで見つけた多数のソリューションもテストしました。それらのどれも私のデバイスでは動作しないので、自分で使用していない場合は、読んだことを指摘しないでください.

編集:私はこれを解決しました。問題は、アクション バーを元に戻すには、Holo テーマを指定する必要があることです。そうしないと表示されません。これをメインのアクティビティに追加しました。

@Override
public void setTheme(int resid) {
    if(isTablet(this))
    {
        super.setTheme(android.R.style.Theme_Holo);
        return;
    }
    super.setTheme(resid);
}
4

1 に答える 1

2

タブレットでアクション バーを表示したいのですが、タイトル バーは表示されません

アクション バーがタイトル バーに置き換わります。アクション バーとタイトル バーを持つアクティビティの概念はありません。

フルスクリーン モードでアクション バーを表示する方法はありますか?

私の知る限り、いいえ、定義上。

サポート ライブラリはアクション バーをサポートしていません。

ActionBarSherlock は、API レベル 7 以降のアクション バーのバックポートを提供します。

ドキュメントによると、これに対する簡単な解決策は、メニュー項目に android:showAsAction="ifRoom" を追加することです。しかし、それは絶対に何もしません。

アクションバーがない場合、それは確かに「何もしません」。フルスクリーン エクスペリエンスが必要な場合は、独自のメニューを置き換える必要があります。私見ですが、ほとんどのフルスクリーン アプリは既にこれを行っています (たとえば、ゲーム スタイルの「メニュー」を使用するゲーム)。

于 2012-09-24T18:47:06.363 に答える