zoukankan      html  css  js  c++  java
  • actionbar使用

    一、添加ActionBar
    
    1、不需要导入ActionBar,因为在android3.0或者以上版本中,ActionBar已经默认的包含在Activity中
    2、在Android3.0的默认主题“holographic”中,已经创造了ActionBar
    3、当android:minSdkVersion 或者 android:targetSdkVersion 属性被设置成11或者更高时,应用会被认为是Android3.0版本(默认含有ActionBar)
    
    二、隐藏ActionBar
    
    1、我们可以通过把主题设置为Theme.Holo.NoActionBar为一个Activity去除掉ActionBar.
    2、我们也可以通过在代码中调用show()或者hide()方法来相应的显示或者隐藏ActionBar
    3、在我们使用actionBar.hide();方法是系统默认会将ActionBar占用的空间分配给界面,此时显示的界面将会重新绘制。
    同样调用actionBar.show();时也会重新绘制界面。如果我们一个程序需要频繁的显示或者隐藏ActionBar的话,这样
    就不会有良好的效果。Google提供给一个属性可以让ActionBar浮在界面上,当然你可以让ActionBar的背景为透明,
    这样会有良好的体验效果.
    
    三、添加ActionBar的Item
    
    1、通过程序动态布局.
    2、通过Menu.xml文件布局
    
    四、关于菜单项过多
    
    当菜单项过多时,Android会分两种情况进行处理:
    
    1、手机有MENU实体键:则按下Menu键后会显示剩余菜单项
    
    2、手机没有MENU实体键:则会在最左边显示一个Action OverFlow按钮,按下后会显示剩余项菜单.
    
    五、使用带字的Action Item
    
    1、Action item 默认格式是如果菜单项含字和图标的话,只显示图标
    2、如果想要显示字的效果,在xml里如下设置:android:showAsAction="ifRoom|withText" 或者在代码里调用setShowAsAction():setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM)
    
    六、ActionBar的单击事件
    
    1、ActionBar中一个菜单项(即Action item)的触发像以前版本中的活动菜单回调方法(onOptionsItemSelected())一样。
    2、当用户选择一个Fragment的菜单项时,首先会调用Activity的onOptionsItemSelected()方法,如果该方法返回false,则调用Fragment实现的onOptionsItemSelected()方
    
    法。
    
    七、应用的图标
    
    1、默认情况下,应用图标在ActionBar的左侧
    2、当用户点击应用bar的时候,系统会调用你的Activity里面的onOptionsItemSelected() 方法里面的Android.R.id.Home ID(你的主ID)里定义的事件。
    我们可以重写这个方法,添加一个条件执行该行为:让它跳转到这个应用的主Activity而不是返回的主屏幕。 3、如果选择返回应用的主activity,最好的方式是在创建的Intent中添加FLAG_ACTIVITY_CLEAR_TOP这个标签。 使用这个FLAG_ACTIVITY_CLEAR_TOP标签,如果应用的主Activity已经在activity栈中存在,所有在其上的activity都会被销毁,然后主activity会到栈顶,而不用创建主Activity的的新实例。 八、添加活动视图 1、ActionBar中还可以添加很多其他的视图 我们也可以添加一个视图作为一个Action Item.我们可以通过在xml元素的android:actionLayout属性制定我们希望现实布局资源的ID(例如@layout/mysearchview) 我们可以选择添加android:actionViewClass属性分配与完全限定的类名描述我们想要显示的视图(例如android.widget.SearchView).
  • 相关阅读:
    vm centos 网络配置
    js数组键入值push和 arr[i]区别
    linux云服务器mysql ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/tmp/mysql.sock’
    表单提交验证提交数据代码
    memcache原理、简单使用、分布式实现方案
    WAMPSERVER PHP版本5.3的降到 5.2?
    Java之 Servlet
    java之 动态代理
    java之 属性集 & 缓冲流 & 序列化流
    java之 File类 & 字节流(byte)
  • 原文地址:https://www.cnblogs.com/wjhblogs/p/4654552.html
Copyright © 2011-2022 走看看