文章详情

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

请输入下面的图形验证码

提交验证

短信预约提醒成功

Android官方导航栏ActionBar使用详解

2022-06-06 12:52

关注

  一、ActionBar概述   ActionBar是androiD3.0以后新增的组件,主要用于标示javascript:;" onClick="javascript:tagshow(event, '应用程序');" target="_self">应用程序以及用户所处的位置并提供相关操作以及全局的导航功能。下面我们看看如何使用ActionBar,真正使用之前,我们应该首先了解一下ActionBar的结构。   根据官方文档,我们看到整个ActionBar可以分为4个部分,具体如下图:

  1、App icon:主要用于展示App的Logo,如果当前界面不是一级界面,还可以展示返回导航。   2、View Control:用于切换不同的视图或者展示非交互信息如app等。   3、Action Buttons:用于展示app中重要的操作按钮,如果过多actionbar中放不下则会转移到Action overflow中,长按会展示操作名称。根据文档说明,Action Buttons的总宽度不会超过ActionBar的50%。   4、Action overflow:用于存放展示相对较少使用的操作按钮。   了解了ActionBar的基本结构后,下面我们一起看看如何使用ActionBar。   二、ActionBar的使用   因为actionbar是android3.0之后新增的所以如果在API Level 11以下的版本使用actionBar的话需要导入v7支持包,在这里我们为了兼容低版本需要加入支持包,然后通过以下两个步骤可以使用ActionBar了。   1、创建Activity是继承ActionBarActivity   2、将app或者Activity的主题设置为@style/Theme.AppCompat.Light   之后运行程序可以看到如下效果图:

  如果不想展示ActionBar,我们可以通过如下代码:   //取得ActionBar对象   ActionBar actionBar=getSupportActionBar();   //调用hide方法,隐藏actionbar   actionBar.hide();   //调用show方法,展示actionbar   //actionBar.show();   根据actionBar的结构,我们先了解App icon区域的相关操作,此部分主要有两个部分,一部分用于展示Logo,一部分用于展示返回键导航,返回键导航主要操作如下:   1、返回键导航的显示与隐藏:setDisplayHomeAsUpEnabled(Boolean flag)   2、返回键导航的图标设置:setHomeAsUpIndicator   3、返回键的事件处理:重写onOptionsItemSelected方法,做如下判断   if(id==android.R.id.home){   Toast.makeText(this,"点击了返回!!",Toast.LENGTH_SHORT).show();   return true;   }   效果图如下:

  Logo区主要操作:   1、Logo的显示与隐藏:   setDisplayShowHomeEnabled(Boolean flag)   setDisplayUseLogoEnabled(Boolean flag)   2、Logo的设置:setLogo   设置后效果图如下:

  第二部分是View Control区,此区域可放置内容比较多,除了用于视图导航的Spinner、tabs、ShareActionProvider,还可以显示等信息、自定义View等。本次内容我们先来看看部分,其余的下次再做仔细详细介绍。   主要操作:   1、显示与隐藏setDisplayShowTitleEnabled(Boolean flag)   2、设置主setTitle   3、设置副setSubtitle   4、设定自定义View:setCustomView   显示效果如下图:

 

  Action Buttons和Action flow的操作类似,都是用于存放展示操作按钮,那么如何将操作按钮显示在actionbar中呢?   在这里,我们可以分为两步:   1、重写onCreateOptionsMenu,此方法用于生成菜单按钮,有两种方式,一种方式编写xml文件,另外一种是java代码生成,这里我们选择编写xml。   2、重写onOptionsItemSelected,此方法用于响应菜单操作。   Xml内容如下:   <menu xmlns:android="http://schemas.android.com/apk/res/android"   xmlns:app="http://schemas.android.com/apk/res-auto"   xmlns:tools="http://schemas.android.com/tools"tools:context=".MainActivity">   <item android:id="@+id/action_search"android:title="搜索"   android:orderInCategory="100"app:showAsAction="always"   android:icon="@drawable/ic_launcher"/>   <item android:id="@+id/action_share"android:title="分享"   android:orderInCategory="100"app:showAsAction="never"/>   <item android:id="@+id/action_collection"android:title="收藏"   android:orderInCategory="100"app:showAsAction="never"/>   <item android:id="@+id/action_font"android:title="字体大小"   android:orderInCategory="100"app:showAsAction="never"/>   </menu>   ShowAsAction是非常重要的属性,它的值决定了菜单显示区域,分别有never、always、ifroom等   效果如下:


阅读原文内容投诉

免责声明:

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

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

软考中级精品资料免费领

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

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

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

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

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

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

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