android隐藏头标题,关于隐藏Android标题栏总结

1>区分状态栏/标题栏/导航栏

状态栏(Status Bar)

标题栏(Title Bar)

导航栏(Navigation Bar)

AAffA0nNPuCLAAAAAElFTkSuQmCC

AAffA0nNPuCLAAAAAElFTkSuQmCC

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中的节点上

设定其属性android:theme为带有NoActionBar的值,这样所创建的所有activity都不会带有标题栏了;如:

android:allowBackup="true"

android:icon="@mipmap/ic_launcher"

android:label="@string/app_name"

android:supportsRtl="true"

android:theme="@style/Theme.AppCompat.Light.NoActionBar">

注:由于节点的android:theme指定为了@style/Theme.AppCompat.Light.NoActionBar,

与此同时,又由于其所有的子节点的属性android:theme都并未指定,这样所有的activity就都不会带有标题栏

某一个activity不显示标题栏:

若是想让应用中的某一个activity不显示标题栏,则可设定对应的activity的属性android:theme为带有NoActionBar的值,如:

android:allowBackup="true"

android:icon="@mipmap/ic_launcher"

android:label="@string/app_name"

android:supportsRtl="true"

android:theme="@style/Theme.AppCompat">

android:theme="@style/Theme.AppCompat.Light.NoActionBar" >

注:由于节点的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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值