关于隐藏Android标题栏总结

2024-05-19 09:48

本文主要是介绍关于隐藏Android标题栏总结,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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


这篇关于关于隐藏Android标题栏总结的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/995785

相关文章

Android中Dialog的使用详解

《Android中Dialog的使用详解》Dialog(对话框)是Android中常用的UI组件,用于临时显示重要信息或获取用户输入,本文给大家介绍Android中Dialog的使用,感兴趣的朋友一起... 目录android中Dialog的使用详解1. 基本Dialog类型1.1 AlertDialog(

Android Kotlin 高阶函数详解及其在协程中的应用小结

《AndroidKotlin高阶函数详解及其在协程中的应用小结》高阶函数是Kotlin中的一个重要特性,它能够将函数作为一等公民(First-ClassCitizen),使得代码更加简洁、灵活和可... 目录1. 引言2. 什么是高阶函数?3. 高阶函数的基础用法3.1 传递函数作为参数3.2 Lambda

Android自定义Scrollbar的两种实现方式

《Android自定义Scrollbar的两种实现方式》本文介绍两种实现自定义滚动条的方法,分别通过ItemDecoration方案和独立View方案实现滚动条定制化,文章通过代码示例讲解的非常详细,... 目录方案一:ItemDecoration实现(推荐用于RecyclerView)实现原理完整代码实现

java常见报错及解决方案总结

《java常见报错及解决方案总结》:本文主要介绍Java编程中常见错误类型及示例,包括语法错误、空指针异常、数组下标越界、类型转换异常、文件未找到异常、除以零异常、非法线程操作异常、方法未定义异常... 目录1. 语法错误 (Syntax Errors)示例 1:解决方案:2. 空指针异常 (NullPoi

Android App安装列表获取方法(实践方案)

《AndroidApp安装列表获取方法(实践方案)》文章介绍了Android11及以上版本获取应用列表的方案调整,包括权限配置、白名单配置和action配置三种方式,并提供了相应的Java和Kotl... 目录前言实现方案         方案概述一、 androidManifest 三种配置方式

Java反转字符串的五种方法总结

《Java反转字符串的五种方法总结》:本文主要介绍五种在Java中反转字符串的方法,包括使用StringBuilder的reverse()方法、字符数组、自定义StringBuilder方法、直接... 目录前言方法一:使用StringBuilder的reverse()方法方法二:使用字符数组方法三:使用自

Android WebView无法加载H5页面的常见问题和解决方法

《AndroidWebView无法加载H5页面的常见问题和解决方法》AndroidWebView是一种视图组件,使得Android应用能够显示网页内容,它基于Chromium,具备现代浏览器的许多功... 目录1. WebView 简介2. 常见问题3. 网络权限设置4. 启用 JavaScript5. D

Android如何获取当前CPU频率和占用率

《Android如何获取当前CPU频率和占用率》最近在优化App的性能,需要获取当前CPU视频频率和占用率,所以本文小编就来和大家总结一下如何在Android中获取当前CPU频率和占用率吧... 最近在优化 App 的性能,需要获取当前 CPU视频频率和占用率,通过查询资料,大致思路如下:目前没有标准的

Python依赖库的几种离线安装方法总结

《Python依赖库的几种离线安装方法总结》:本文主要介绍如何在Python中使用pip工具进行依赖库的安装和管理,包括如何导出和导入依赖包列表、如何下载和安装单个或多个库包及其依赖,以及如何指定... 目录前言一、如何copy一个python环境二、如何下载一个包及其依赖并安装三、如何导出requirem

Flutter监听当前页面可见与隐藏状态的代码详解

《Flutter监听当前页面可见与隐藏状态的代码详解》文章介绍了如何在Flutter中使用路由观察者来监听应用进入前台或后台状态以及页面的显示和隐藏,并通过代码示例讲解的非常详细,需要的朋友可以参考下... flutter 可以监听 app 进入前台还是后台状态,也可以监听当http://www.cppcn