1. 程式人生 > >關於android studio中標題欄的隱藏和顯現實現。

關於android studio中標題欄的隱藏和顯現實現。

首先,實現的是正常狀態下標題欄的顯示,這個很簡單相信大家都可以搞得定。程式碼實現如下:

public class MainActivity extends ActionBarActivity { //此處MainActivity繼承自ActionBarActivity

    @Override
protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);
}
上述程式碼是Java程式碼部分,manifest.xml中的程式碼如下:
android
:theme="@style/AppTheme" >

接著,就是將標題欄隱藏掉。程式碼實現如下,說明稍後跟上。

程式碼實現部分;

package com.example.lenovo.firapp;

import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;


public class MainActivity extends Activity {  //此處MainActivity繼承自Activity。值得說明的是,之前Eclipse中開發的時候,繼承自Activity也會顯示bar。

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        //requestWindowFeature(Window.FEATURE_NO_TITLE);
        setContentView(R.layout.activity_main);
        
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.menu_main, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
        int id = item.getItemId();

        //noinspection SimplifiableIfStatement
        if (id == R.id.action_settings) {
            return true;
        }

        return super.onOptionsItemSelected(item);
    }
}
此處MainActivity繼承自Activity。值得說明的是,之前Eclipse中開發的時候,繼承自Activity也會顯示bar。但是在AS中預設顯示bar的是繼承自ActionBarActivity。
上文已做說明,故不做贅述。程式碼中只做繼承的修改是不夠的,還應該在Androidmanifests的<application>中做關於主題的必要修改
這樣我們就搞定了無bar的實現。

補充:
MainActivity extends ActionBarActivity
導包為:import android.support.v7.app.ActionBarActivity
MainActivity extends 
Activity
<strong>導包為:</strong><span style="color:#FF0000;">import android.app.Activity</span>

 上面的兩種情況,bar的有無,不僅要在Activity中做不要修改之外,必須在manifest中進行必要的程式碼修改。這也充分印證了:所有的活動都要在AndroidManifest.xml 中進行註冊才能生效