Android 标题栏、状态栏、系统栏、导航栏、应用栏及各个位置的颜色设置

这篇具有很好参考价值的文章主要介绍了Android 标题栏、状态栏、系统栏、导航栏、应用栏及各个位置的颜色设置。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

实例图片

Android 标题栏、状态栏、系统栏、导航栏、应用栏及各个位置的颜色设置
如上图,可以看到,有状态栏(status bar)、标题栏(action bar, toolbar)、导航栏(navigation bar) 等,

状态栏

状态栏 (status bar):是指手机最顶上,显示中国移动、安全卫士、电量、网速等等,在手机的顶部。下拉就会出现通知栏。

标题栏

标题栏就是指action bar/toolbar,app程序最上边的titlebar。关于actionBar和toolBar后面介绍

导航栏

NavigationBar:现在很多手机省略了导航栏,一般指手机下面的返回、home、菜单三个键,图片上的导航栏为APP的 导航栏。

系统栏

SystemBar:状态栏+导航栏 (参考:(参考:https://developer.android.google.cn/training/system-ui/dim))

应用栏

应用栏(app bar):应用栏也称操作栏,一般是把标题栏(Toolbar) 设置为应用栏 (参考:https://developer.android.google.cn/training/appbar/)

actionBar和toolBar的区别

ActionBar

Actionbar是Android3.0之后的一个重要的交互元素,Actionbar位于Activity的顶部,用于显示图标、菜单、标题,广泛用于View的交互、导航等功能。在Android3.0之后,Actionbar是默认添加的,只要你新建的Activity继承于AppCompatActivity,Actionbar是默认添加的。如果是继承的Activity,ActionBar是不显示的,即不显示状态栏。

代码:
import androidx.appcompat.app.ActionBar;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import com.example.androidlearn.R;

public class ActionBarMainActivity extends AppCompatActivity {

    private ActionBar actionBar;
    @Override
    protected void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_action_bar_main);
        // 获取该Activity的ActionBar
        // 只有当应用主题没有关闭ActionBar时,该代码才能返回ActionBar
        actionBar = getSupportActionBar(); //使用的是getSupportActionBar 导入的包是androidx的包
    }
    // 为“显示ActionBar”按钮定义事件处理方法
    public void showActionBar(View source)
    {
        // 显示ActionBar
        actionBar.show();
    }
    // 为“隐藏ActionBar”按钮定义事件处理方法
    public void hideActionBar(View source)
    {
        // 隐藏ActionBar
        actionBar.hide();
    }
}
显示结果:

Android 标题栏、状态栏、系统栏、导航栏、应用栏及各个位置的颜色设置

1.继承的是AppCompatActivity 然后使用的是getSupportActionBar。才能正常使用actionBar

标题栏显示label设置

  • activity 里面的 android:label 优先级 > application 里面的android:label
  • android:label属性 用来设定apk的名称以及activity的标题。

代码:
Android 标题栏、状态栏、系统栏、导航栏、应用栏及各个位置的颜色设置
显示:
apk名称显示
Android 标题栏、状态栏、系统栏、导航栏、应用栏及各个位置的颜色设置
activity标题显示
Android 标题栏、状态栏、系统栏、导航栏、应用栏及各个位置的颜色设置
改变标题的内容也可以在代码中使用

setTitle()
ActionBar显示选项菜单项

1.创建Menu资源文件
Android 标题栏、状态栏、系统栏、导航栏、应用栏及各个位置的颜色设置

Android 标题栏、状态栏、系统栏、导航栏、应用栏及各个位置的颜色设置

  • always :表示总是将MenuItem显示在ActionBar上
  • collapseActionView :将该ActionView折叠成普通菜单项
  • ifRoom :当ActionBar位置足够时才显示MenuItem
  • never :不将该MenuItem显示在ActionBar上
  • withText :将该MenuItem显示在ActionBar上,并显示该菜单项的文本
  1. 重写onCreateOptionMenu创建菜单项方法和onOptionItemSelected方法设置监听事件
    Android 标题栏、状态栏、系统栏、导航栏、应用栏及各个位置的颜色设置
    3.显示效果
    Android 标题栏、状态栏、系统栏、导航栏、应用栏及各个位置的颜色设置

ToolBar

Android3.0之后,Google引入了ActionBar,想要统一安卓应用的导航栏样式。但是由于ActionBar难以定制,很大程度上限制了开发人员。较为常见的实现是使用普通的ViewGroup来封装自己的APP Bar,或者使用JakeWharton大神的ActionBarSherlock库。
自2014年Google I/O上Material Design横空出世后,市场上的应用又逐步趋向了样式的风格统一,support library中很快就出来了ToolBar控件,一个定制化的ViewGroup,来完善ActionBar的使用。
ToolBar是ActionBar的替代品。

Toolbar的使用

直接引入ToolBar组件

 <androidx.appcompat.widget.Toolbar
        android:id="@+id/toolBar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        app:logo="@mipmap/ic_launcher"
        app:title="Toolbar"
        app:subtitle="subtitle">

Activity中编写

代码有两个地方需要注意:文章来源地址https://www.toymoban.com/news/detail-414754.html

public class ToolBarMainActivity extends AppCompatActivity {

    private Toolbar toolbar;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        // 隐藏掉ActionBar 一定要在setContentView(R.layout.activity_main)之前设置。
        supportRequestWindowFeature(Window.FEATURE_NO_TITLE);
        setContentView(R.layout.activity_tool_bar_main);
        toolbar = findViewById(R.id.toolBar);
        /**
         * AppCompatActivity是默认有标题栏的(ActionBar),你要使用Toolbar,就得替代掉原先的ActionBar
         * 要不然加菜单文件不显示
         */
        setSupportActionBar(toolbar);
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.action_bar_menu,menu);
        return super.onCreateOptionsMenu(menu);
    }

到了这里,关于Android 标题栏、状态栏、系统栏、导航栏、应用栏及各个位置的颜色设置的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Android】获取导航栏、状态栏高度

    或者 或者 系统的各种数据定义位于SDK的xml文件中: android-30/data/res/values/dimens.xml 通过key可以获取对应的值。 导航栏和状态栏源码相似 调用 updateColorViews 更新背景色的方法,还有如下位置: WindowInsets 可以翻译为窗口附加物,一般是指一个界面中,不由开发者直接控制的部分

    2024年02月12日
    浏览(44)
  • Android WindowInsetsController 设置状态栏、导航栏

    有 hide() ,也有 show() 在更早的版本中,使用 ViewCompat.getWindowInsetsController() 获取 WindowInsetsControllerCompat 实例 而现在推荐使用 WindowCompat.etInsetsController() 获取 WindowInsetsControllerCompat 实例 底部的三个按键就是导航栏 (navigation bar): back / home / recent 。 高版本系统,recent,可能没有图

    2024年02月15日
    浏览(43)
  • Android 显示、隐藏状态栏和导航栏

    控制状态栏显示,Activity的主题中配置全屏属性 控制状态栏显示,在setContentView之前设置全屏的flag 复制代码 getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); 控制状态栏显示,在任何位置通过添加和移除全屏的flag 控制状态栏和导航栏显示,

    2024年02月08日
    浏览(42)
  • Android各个应用商店Uri

    三星: URL: https://apps.samsung.com/appquery/AppRating.as?appId=PackageName URI: “samsungapps://AppRating/PackageName” Onestore ”onestore://common/product/bg_update/PID“ https://m.onestore.co.kr/mobilepoc/apps/appsDetail.omp?prodId=PID Google Play “market://details?id=PackageName” 华为 “appmarket://details?id=PackageName” vivo “vivoMa

    2024年01月22日
    浏览(36)
  • Android隐藏导航栏和状态栏的方法

    一。去除状态栏 以下是Android去除状态栏的代码示例: 1. 在Activity的onCreate()方法中添加以下代码: getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); 2. 在AndroidManifest.xml文件中的Activity节点中添加以下属性: android:theme=\\\"@android:style/Theme.NoTitleB

    2024年02月16日
    浏览(40)
  • 史上最完美的Android沉浸式状态导航栏攻略

    最近我在小破站开发一款新App,叫 高能链 。我是一个完美主义者,所以不管对架构还是UI,我都是比较抠细节的,在状态栏和导航栏沉浸式这一块,我还是踩了挺多坑,费了挺多精力的。这次我将我踩坑,适配各机型总结出来的史上最完美的Android沉浸式状态导航栏攻略分享

    2023年04月26日
    浏览(40)
  • 【Echart多场景示例应用】Echarts柱状图、折线图、饼图、雷达图等完整示例。 echarts主标题和副标题的位置、样式等设置(已解决附源码)

    **【写在前面】**前端时间做一个echarts的页面调整,临时客户要求加一个参数(总容量)显示,当时我就想用个默认的副标题吧,哪知客户和我说得紧跟在主标题后面,于是乎我就根据设置做了一个调整,我也是在网上看了一下,好些答案都是复制粘贴,文章各种抄袭的,遇

    2024年02月08日
    浏览(49)
  • uniapp 获取状态栏及小程序右侧胶囊信息(用于设置全屏小程序)

    方法一: 直接上代码: (此方法可以避免渲染时塌陷问题,无需初始设置) 记得在page.json文件中设置当前页面隐藏默认标题栏哦,看最后 方法二(不建议) 1.获取信息(): //获取状态栏高度(px) this.statusBarHeight = uni.getSystemInfoSync().statusBarHeight; //获取小程序胶囊信息 this.menuButtonInfo = uni.g

    2024年02月13日
    浏览(51)
  • Vue项目实战——【基于 Vue3.x + Vant UI】实现一个多功能记账本(开发导航栏及公共部分)

    系列内容 参考链接 基于 Vue3.x + Vant UI 的多功能记账本(一) 项目演示,涉及知识点 基于 Vue3.x + Vant UI 的多功能记账本(二) 搭建开发环境 Vue3 + Vant UI_多功能记账本 1、底部导航栏 components 文件夹下,创建 NavBar.vue 组件 NavBar.vue 详细内容请看代码和注释 van-tabbar-item 为标签栏

    2024年02月02日
    浏览(57)
  • Android全屏弹出Dialog显示状态栏和导航栏的问题及解决方案

    在移动端开发中,有时候我们需要在Android应用中弹出一个全屏的Dialog。然而,当我们尝试实现这样的Dialog时,可能会遇到一个问题:状态栏和导航栏在全屏Dialog中仍然可见,这可能会影响用户体验。本文将介绍如何解决这个问题,并提供相应的源代码。 问题描述: 当我们使

    2024年02月05日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包