ActionBar / Menu

给你一囗甜甜゛ 提交于 2019-12-15 16:44:35

【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>

官网参考:ActionBar, Menus

首先Menus包括: Option Menu, Contextual Menu, Popup Menu; 在Android2.3和Android 3.0 ,当创业Option Menu和Contextual Menu的形态是不一样的,在Android3.0后,创建的Option Menu就会体现在ActionBar中;

2.3的样子如下:

3.0之后就变成如下:

如果你想要2.1之后支持androidBar,需要使用v7, ActionBarActivity, v4..app.FragmentActivity,并且在Manifest.xml中配置支持ActionBar的样式

<activity android:theme="@style/Theme.AppCompat.Light" ... >
  1. Option Menu

     // 这个方法,在android2.3之前,是显示底部,前最多显示6个,超过6个,显示更多,但是3.0后,就显示在ActionBar上面了, 也就是ActionBar
     onCreateOptionsMenu(): 一般只创建一次
    
     onOptionsItemSelected: 
    
     onPrepareOptionsMenu(): 2.3每次呼出前都执行一次, 3.0使用invalidateOptionsMenu()激发修改Menu
    
  2. Contextual Menus

     onCreateContextMenu()
     onContextItemSelected()
    

    2.3之前是左边的样子, 3.0之后是右边的样子(需要设置ActionModel)

     getActivity.startActionMode(ActionMode.callback)
    

使用场景在listView和GridView中比较多; listview.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE_MODAL)

  1. PopMenu

API level 11 , android 3.0

	public void showPopup(View v) {
		PopupMenu popup = new PopupMenu(this, v);
		MenuInflater inflater = popup.getMenuInflater();
		inflater.inflate(R.menu.actions, popup.getMenu());
		popup.show();
	}
	
	onMenuItemClick()
  1. Menu Goup

    一组menu, 单选模式,多选模式,

  2. SplitActionBar(和Menu就没什么关系了,也是一种ActionBar)

在屏幕的底部, 最低api 14, 也可以支持老版本,当然是7以后的

  1. AddActionView

     yourapp:actionViewClass="android.support.v7.widget.SearchView" 
    
  2. 可以收缩的ActionView, 需要最后面那个Button, 如图所示的3位子

  3. ActionProvider

     yourapp:actionProviderClass="android.support.v7.widget.ShareActionProvider"
    
  4. Navigation Tabs

     ActionBar.newTab()
    
  5. Drop-Down Navigation

    setNavigationMode(NAVIGATION_MODE_LIST)
    SpinnerAdapter, 
    actionBar.setListNavigationCallbacks()
    
  6. ActionBar自定义样式

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!