文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

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

2023-09-11 19:15

关注

文章目录

在这里插入图片描述
如上图,可以看到,有状态栏(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();    }}

显示结果:

在这里插入图片描述

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

栏显示label设置

代码:
在这里插入图片描述
显示:
apk名称显示
在这里插入图片描述
activity显示
在这里插入图片描述
改变的内容也可以在代码中使用

setTitle()

ActionBar显示选项菜单项

创建Menu资源文件
在这里插入图片描述

在这里插入图片描述

  1. 重写onCreateOptionMenu创建菜单项方法和onOptionItemSelected方法设置监听事件
    在这里插入图片描述
    3.显示效果
    在这里插入图片描述

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中编写

代码有两个地方需要注意:

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);                setSupportActionBar(toolbar);    }    @Override    public boolean onCreateOptionsMenu(Menu menu) {        getMenuInflater().inflate(R.menu.action_bar_menu,menu);        return super.onCreateOptionsMenu(menu);    }

来源地址:https://blog.csdn.net/qq_38056514/article/details/128489079

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-移动开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯