關於android studio中標題欄的隱藏和顯現實現。
阿新 • • 發佈:2019-02-02
首先,實現的是正常狀態下標題欄的顯示,這個很簡單相信大家都可以搞得定。程式碼實現如下:
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 extendsActivity
<strong>導包為:</strong><span style="color:#FF0000;">import android.app.Activity</span>
上面的兩種情況,bar的有無,不僅要在Activity中做不要修改之外,必須在manifest中進行必要的程式碼修改。這也充分印證了:所有的活動都要在AndroidManifest.xml 中進行註冊才能生效