1>区分状态栏/标题栏/导航栏
状态栏(Status Bar)
标题栏(Title Bar)
导航栏(Navigation Bar)
2>区分Title Bar/Action Bar/Tool Bar
Title Bar就是我们所俗称的标题栏,在Android 3.0 (API level 11)的时候,引入的Action Bar,其就是用来取代Title Bar的,
在Android 5.0 (API level 21)的时候,引入的Tool Bar,其就是用来取代Action Bar的;
注:关于Action Bar和Tool Bar的具体用法,可自行参考官方文档的解释;
3>隐藏标题栏
方式一:在布局文件中进行设置
整个应用都不显示标题栏:
如果是想让标题栏在整个应用中都不显示,那么,则可在AndroidManifest.xml中的<application>节点上
设定其属性android:theme为带有NoActionBar的值,这样所创建的所有activity都不会带有标题栏了;如:
<application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:supportsRtl="true" android:theme="@style/Theme.AppCompat.Light.NoActionBar"> <activity android:name=".MainActivity"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name=".Main2Activity"></activity> </application>
注:由于<application>节点的android:theme指定为了@style/Theme.AppCompat.Light.NoActionBar,
与此同时,又由于其所有的子节点<activity>的属性android:theme都并未指定,这样所有的activity就都不会带有标题栏
某一个activity不显示标题栏:
若是想让应用中的某一个activity不显示标题栏,则可设定对应的activity的属性android:theme为带有NoActionBar的值,如:
<application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:supportsRtl="true" android:theme="@style/Theme.AppCompat"> <activity android:name=".MainActivity"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name=".Main2Activity" android:theme="@style/Theme.AppCompat.Light.NoActionBar" > </activity> </application>
注:由于<application>节点的android:theme指定为了@style/Theme.AppCompat,其是带有Action Bar的,所以默认情况下,
其所有的activity都会显示标题栏,但是我们在第二个Activity(Main2Activity)中可以看到:
android:theme="@style/Theme.AppCompat.Light.NoActionBar"
所以第二个Activity(Main2Activity)其也就不会显示标题栏了,但是第一个Activity(MainActivity)是会显示标题栏的;
方式二:在代码中进行设置
若是继承Activity,则使用:
requestWindowFeature(Window.FEATURE_NO_TITLE);
示例如下:
package com.example.administrator.testnotitle; import android.app.Activity;import android.os.Bundle; import android.view.Window; public class Main2Activity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); /**** 若是继承Activity,那么此时requestWindowFeature(Window.FEATURE_NO_TITLE);有效; * 此时的Activity是不支持getSupportActionBar().hide()这个方法的; ***/ requestWindowFeature(Window.FEATURE_NO_TITLE); setContentView(R.layout.activity_main2); } }
若是继承AppCompatActivity,则只需加入一条语句:
getSupportActionBar().hide();
示例如下:
package com.example.administrator.testnotitle; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); /*** * 如果继承的是Android Studio默认创建的AppCompatActivity, * 那么此时,用requestWindowFeature(Window.FEATURE_NO_TITLE);无效; * 需用getSupportActionBar().hide(),因为AppCompatActivity里边是有这个方法可供调用的; * ***/ getSupportActionBar().hide(); setContentView(R.layout.activity_main); } }
出处 https://blog.csdn.net/u010661782/article/details/50837212