• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >Android > Android中Action Bar的使用

Android中Action Bar的使用

作者:网友 字体:[增加 减小] 来源:互联网 时间:2017-05-26

网友通过本文主要向大家介绍了android action bar,android action,android getaction,android 系统action,android actionsheet等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

Android中Action Bar的使用


内容概要

示例演示和基本介绍
启用Action Bar
在Action Bar上添加按钮
自定义Action Bar样式
自动隐藏Action Bar
Action Provider的使用
ActionBarSherlock的使用

示例演示和基本介绍

这里写图片描述

这里写图片描述

这里写图片描述

如果使用ActionBar则分为两种情况
1、Action Bar on devices BEFORE Android 3.0(API 11)
1)、ActionBarSherlock开源库
2)、ActionBarCompat library from the Android support library v7
2、Action Bar on devices AFTER Android 3.0(API 11)

在android3.0之前要使用Action Bar有如上两种方式,第一种使用ActionBarSherlock开源库(是android兼容开发包的一个扩展)当使用该开源库是如果应用程序运行在Android3.0以上的设备则默认使用原生的Action Bar否则使用该开源库提供的Action Bar。第二种方式就是使用google官方提供的support v7这个开源库。
在android3.0之后的设备上可以使用原生的Action Bar

启用Action Bar

1、Action Bar on devices AFTER Android 3.0(API 11)
从Android 3.0开始Action bar被包含在了所使用所使用了Theme.Holo这个主题的Activity中(或Theme.Holo的子类)Theme.Holo是默认的主题,当minSdkVersion和targetSdkVersion都在11或以上时。
2、Action Bar on devices BEFORE Android 3.0(API 11)
必须是2.1以上的设备,需要在应用中包含Support Library(android-support-v7-appcompat)操作步骤:
1)、将该android-sdk-windows\extras\android\support\v7\appcompat库导入并拷贝到工作空间中最后引入到你的项目中
2)、将activity继承自ActivityBarActivity
3)、将AndroidManifest.xml文件中的主题更改为
android:theme=”@style/Theme.AppCompat.Light.DarkActionBar”

在Action Bar上添加按钮

1、For Android 3.0 and higher only
添加按钮也分为两个部分,第一个部分在xml指定这些按钮(在menu中加入不同的item项)

属性介绍
1)、android:showAsAction=“always“
一直显示在Action Bar上
2)、android:showAsAction=“ifRoom“
如果Action Bar空间足够,则显示
3)、android:showAsAction=“never“
不显示在Action Bar中,折叠在OverFlow里
4)、android:showAsAction=“withText“
菜单项和它的图标,菜单文本一起显示

2、For Android 2.1 and higher
1)、在menu.xml中加入自定义命名空间
xmlns:yourapp=”http://schemas.android.com/apk/res-auto”

2)、在showAsAction属性前指定命名空间
    yourapp:showAsAction="ifRoom"

Action Bar上的按钮添加点击事件

@Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }

    // 给按钮添加点击事件
    @Override
    public boolean onOptionsItemSelected(MenuItem item) {

        switch (item.getItemId()) {
        case R.id.action_search:
            Toast.makeText(this, "Action_Search", 0).show();
            break;
        case R.id.action_settings:
            Toast.makeText(this, "Action_Settings", 0).show();
            break;
        }

        return super.onOptionsItemSelected(item);
    }

给ActionBar左上角图标添加向上或返回按钮(查看google的官方文档)具体添加什么样的按钮根据需要设定。

//启用左上角的向上按钮        
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
//getActionBar().setDisplayHomeAsUpEnabled(true);//3.0以上


              
       
       
            
            
       

注:parentActivityName属性为3.0以上使用,3.0以下要用“meta-data”

自定义Action Bar样式

使用android提供好的主题

Theme.Holo for “dark” theme Theme.Holo.Light for a “light” theme

For example




以上是在3.0以上使用Android自带的主题,如果是android 2.1以上的设备使用如下方式:

For example




Customize the Background(自定义Action Bar的背景颜色)
For Android 3.0 and higher only
1、在themes.xml中新建自定义Style,使其继承已有的Action Bar Style(如:Theme.Holo)
2、覆写其actionBarStyle属性
3、actionBarStyle属性值指向另一个已被覆写了background属性的Style
4、指定该background的属性值

themes.xml



在AndroidManifest.xml中引用自定义主题

android:theme="@style/CustomActionBarTheme"

For Android 2.1 and higher

themes.xml



最后同样在清单文件中引入自定义主题

Customize the Color 参考官方文档

Customize the Tab Indicator

ActionBar actionBar = getActionBar(); // for < 3.0   getSupportActionBar();
        actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);//设置导航方式,ActionBar.NAVIGATION_MODE_LIST

        ActionBar.TabListener tabLiatener = new ActionBar.TabListener() {

            @Override
            // 未选中时
            public void onTabUnselected(Tab tab, FragmentTransaction ft) {
                // TODO Auto-generated method stub

            }

            @Override
            // 选中时
            public void onTabSelected(Tab tab, FragmentTransaction ft) {
                // TODO Auto-generated method stub
                Toast.makeText(MainActivity.this,
                        "TabSelected" + tab.getPosition(), 0).show();
            }

            @Override
            // 重复选中时
            public void onTabReselected(Tab tab, FragmentTransaction ft) {
                // TODO Auto-g



 
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • Android中Action Bar的使用

相关文章

  • 2017-05-26Mac OSX系统搭建React natvie for android 开发环境,osxnatvie
  • 2017-05-26Android Studio发布应用
  • 2017-05-26【android开发笔记】为Button的背景图片添加边框式样式效果,
  • 2017-05-26Android开发1:基本UI界面设计——布局和组件,androidui
  • 2017-05-26仿有道词典应用项目源码,有道词典项目源码
  • 2017-05-26安卓开源项目周报1214,安卓开源项目1214
  • 2017-05-26A DB2 Performance Tuning Roadmap --LOG INTRODUCTION
  • 2017-05-26硅谷商城第二版3--分类模块,硅谷商城第二版3--
  • 2017-05-26Android安全机制
  • 2017-05-26自动化运维之cobbler批量部署操作系统(一)

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 手动获取判断处理权限,获取判断权限
    • 2.6.1 PopupWindow(悬浮框)的基本使用
    • dspam运维记录
    • Android实战技巧之五十一:libjpeg与Android
    • APK瘦身记,如何实现高达53%的压缩效果,apk53%
    • Linux内核系列—5.操作系统开发之特权级及特权级的转移,linux特权
    • 详解Android中的SQLite数据库存储
    • android 仿摩拜单车共享单车进度条实现StepView,androidstepview
    • 服务器DELL R710配置安装centos经验之谈
    • android.view.WindowLeaked的解决办法,androidwindowleaked

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有