Android Show Activity Title/status bar at the top after it is hidden

后端 未结 2 392
北恋
北恋 2021-01-12 17:59

Currently in my FragmentActivity, I hide the status bar by, in the onCreate method, doing the following:

 requestWindowFeature(Wind         


        
相关标签:
2条回答
  • 2021-01-12 18:16

    Here you can change your title bar dynamically using following two methods. I called them from my Activity. So to call from Fragment you need the Activity instance.

    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);
        }
    
    0 讨论(0)
  • 2021-01-12 18:30

    There are couple of ways of doing so:

    First Approach:

    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();
    

    NOTE! you can include a simple TextView in side your layout custom_title_bar

    Make you custom_title_bar layout as follows:

       <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>
    

    Second Approach:

    Activity.setTitle

    this.setTitle("My Title!");
    
    0 讨论(0)
提交回复
热议问题