6

現在、私のでは、メソッドで次のようにFragmentActivityしてステータスバーを非表示にしています。onCreate

 requestWindowFeature(Window.FEATURE_NO_TITLE);
 getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);

これは問題なく動作します。

しかし、フルスクリーンで、ユーザーがボタンをクリックすると、別のフラグメントにスワップしたいと思います (私たちが にいることを思い出してFragmentActivityください)。つまり、フルスクリーンで表示されている現在のフラグメントを置き換えます。

タイトルバー/ステータスを表示したい。

これは可能ですか?もしそうなら、どうすればプログラムでそれを行うことができますか

4

2 に答える 2

23

ここでは、次の 2 つの方法を使用して、タイトル バーを動的に変更できます。から電話しましたActivity。したがって、呼び出すにはインスタンスFragmentが必要です。Activity

public void hideTitle() {
        try {
            ((View) findViewById(android.R.id.title).getParent())
                    .setVisibility(View.GONE);
        } catch (Exception e) {
        }
        getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
        getWindow().clearFlags(
                WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN);
    }

    public void showTitle() {
        try {
            ((View) findViewById(android.R.id.title).getParent())
                    .setVisibility(View.VISIBLE);
        } catch (Exception e) {
        }
        getWindow().addFlags(
                WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN);
        getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
    }
于 2013-03-15T17:49:51.593 に答える
0

これにはいくつかの方法があります。

最初のアプローチ:

FEATURE_CUSTOM_TITLE

requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);
setContentView(R.layout.foo_layout);
getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.custom_title_bar); 
or

youractivity.setTitle();

ノート!TextViewレイアウトの横にシンプルなものを含めることができますcustom_title_bar

次のようにcustom_title_barレイアウトします。

   <LinearLayout           
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="vertical" >
      <TextView
         android:id="@+id/titleTextView"
         style="@android:style/WindowTitle"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:text="TextView"
      />
    </LinearLayout>

2 番目のアプローチ:

Activity.setTitle

this.setTitle("My Title!");
于 2013-03-15T17:08:48.497 に答える