ActionBar的使用

1.启动ActionBar(默认状态下是启动的)

  1.1 在Android配置文件(AndroidManifest.xml)中设置应用的主题为 ***.NoActionBar

1.2 在代码中控制ActionBar的启动

    书上用getActionBar()写的,但我试试的时候总是获取不到,actionBar一直是空的

    问题解决:https://stackoverflow.com/questions/6867076/getactionbar-returns-null(不同的activity要用不同的方式获取???)

    getSupportActionBar能成功获取ActionBar;

public class MainActivity extends AppCompatActivity {

    ActionBar actionBar;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//获得ActionBar
actionBar = getSupportActionBar();
Log.v("z",getSupportActionBar()+"");
}
public void hideActionBar(View view)
{
actionBar.hide();
}
public void showActionBar(View view)
{
actionBar.show();
}
}

    *******在布局页面能直接在button中注册onclick事件***********

<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="hideActionBar"
android:onClick="hideActionBar"/>

2.使用ActionBar显示菜单选项

  2.1 app:showasaction 和 android:showasaction的区别:http://www.cnblogs.com/liaojie970/p/5718901.html

  2.2 资源文件写了,但不显示在actionbar上面:

这个遇到了问题,想不明白,,,,

  问题找到解决办法了:http://blog.csdn.net/huwei0518/article/details/48834795

  MenuItemCompat.setShowAsAction(menu.findItem(R.id.action),MenuItemCompat.SHOW_AS_ACTION_ALWAYS);(加了这么一段代码)

  /** * 加载菜单 * * @param menu * @return */
@Override public boolean onCreateOptionsMenu(Menu menu)
{
MenuInflater inflater = new MenuInflater(this); //装填R.menu.my_menu对应的菜单,并添加到menu中
inflater.inflate(R.menu.actionbar, menu);
MenuItemCompat.setShowAsAction(menu.findItem(R.id.action),MenuItemCompat.SHOW_AS_ACTION_ALWAYS);
return super.onCreateOptionsMenu(menu);
}

  overflow就是actionbar上面的三个点,点击后会出现菜单

  

  这个问题花了不少时间才找到解决办法,但原理不是很懂,,,(出现这个问题的原因好像是V4和V7的问题,,,import android.support.v4.view.MenuItemCompat;
import android.support.v7.app.ActionBar;
import android.support.v7.app.AppCompatActivity;)

  代码参考:https://www.aliyun.com/jiaocheng/71385.html

3

Android界面编程--使用活动条(ActionBar)的更多相关文章

  1. Android界面编程--使用活动条(ActionBar)--实现Tab导航

    使用ActionBar结合fragment实现导航 1,调用ActionBar的setNavigationModel(ActionBar.NAVIGATION_MODE_TABS)设置使用tabs导航 ...

  2. Android界面编程--使用活动条(ActionBar)--添加Action View

    ActionBar除了显示Action Item 外,还能显示普通的ui组件 2种方式添加Action View 1.指定ActionView的实现类 2.指定ActionView对应的视图资源 实现 ...

  3. Android界面编程--使用活动条(ActionBar)--通过ActionBar菜单改变TextView的字体和颜色

    android:orientation="vertical"(AndroidStudio不提示,这个要记住了) 昨天好不容易把ActionBar从溢出菜单overflow中弄出来了 ...

  4. Android活动条(actionbar)使用具体解释(一)

        活动条(ActionBar)是Android3.0的重要更新之中的一个.ActionBar位于传统标题的位置,其主要提供了例如以下功能:     >显示选项菜单的菜单项,即激昂菜单项显示 ...

  5. 关于Android界面编程与视图(View)组件

    UI组件--------------->android.widget.* View组件------------->android.view.* 视图(View)组件 所有UI组件都是建立在 ...

  6. Android学习笔记(35):Android活动条

    在Android3.0之后,Google对UI导航设计上进行了一系列的改革,当中有一个很好用的新功能就是引入的ActionBar,用于代替3.0之前的标题栏,并提供更为丰富的导航效果. ActionB ...

  7. android应用的界面编程----View与ViewGroup的概念

    1 UI OverView Android中所有的UI元素都是通过View与ViewGroup来构建的,View是指屏幕中一块可与用户进行交互的空白,类似于java界面编程中的JPanel.为了界面布 ...

  8. Android系统编程入门系列之加载界面Activity

    上回说到应用初始化加载及其生命周期,在Android系统调用Applicaiton.onCreate()之后,继续创建并加载清单文件中注册的首个界面即主Activity,也可称之为入口界面.主Acti ...

  9. 二、Android应用的界面编程(六)ProgressBar及其子类[SeekBar、RatingBar]er

    通常用于向用户显示某个耗时操作完成的百分比.Android支持几种风格的进度条,通过style属性可以为ProgressBar指定风格.该属性支持如下几个属性值. # @android:style/W ...

随机推荐

  1. java 列表与集合总结

    列表与集合 (一切输出都用for each!丢弃迭代器) 列表List 1 顺序表 Arraylist  适用于静态查找2   链式双向表 Linkedlist 适用于增删该查3 (容器) Vecto ...

  2. luoguP3224 [HNOI2012]永无乡

    https://www.luogu.org/problemnew/show/P3224 考虑对每个岛维护一颗平衡树,用并查集维护连通性,启发式合并即可 这东西其实是一个大暴力,每次把节点少的平衡树合并 ...

  3. 数据结构54:平衡二叉树(AVL树)

    上一节介绍如何使用二叉排序树实现动态查找表,本节介绍另外一种实现方式——平衡二叉树. 平衡二叉树,又称为 AVL 树.实际上就是遵循以下两个特点的二叉树: 每棵子树中的左子树和右子树的深度差不能超过 ...

  4. Anya and Cubes 搜索+map映射

    Anya loves to fold and stick. Today she decided to do just that. Anya has n cubes lying in a line an ...

  5. Linux 安装python3.7.3 提示已经自动安装了pip和setuptools 可是使用时bash提示没有找到pip

    Linux 安装python3.7.3 提示已经自动安装了pip和setuptools 可是使用时bash提示没有找到pip 今天的任务就是找到解决办法 另外就是用布置好python3的路径

  6. bzoj2212 Tree Rotations 线段树合并+动态开点

    题目传送门 思路: 区间合并线段树的题,第一次写,对于一颗子树,无论这个子树怎么交换,都不会对其他子树的逆序对造成影响,所以就直接算逆序对就好. 注意叶子节点是1到n的全排列,所以每个权值都只会出现1 ...

  7. nvm安装

    1.下载安装包,地址:https://github.com/coreybutler/nvm-windows 2.解压后,点击 nvm-setup 安装,一路默认安装,next下去 3.打开安装位置,然 ...

  8. Oracle SET UNUSED的用法

    SET UNUSED的用法 原理:清楚掉字典信息(撤消存储空间),不可恢复.    可以使用 SET UNUSED选项标记一列或者多列不可用.    使用DROP SET UNUSED选项删除被被标记 ...

  9. 【研究】Tomcat远程代码执行漏洞(CVE-2017-12615)

    一.Tomcat远程代码执行漏洞(CVE-2017-12615) 1.1       实验环境 操作机:windows 10                         IP:192.168.1. ...

  10. KM算法(运用篇)

    传送门:KM算法---理解篇 最佳匹配 什么是完美匹配 如果一个二分图,X部和Y部的顶点数相等,若存在一个匹配包含X部与Y部的所有顶点,则称为完美匹配. 换句话说:若二分图X部的每一个顶点都与Y中的一 ...