ActionBar各种属性的详细解析

2024-05-26 00:18
文章标签 详细 解析 属性 actionbar

本文主要是介绍ActionBar各种属性的详细解析,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

ActionBar

出自Android中文Wiki
跳转到: 导航, 搜索

ActionBar:

英文原文:http://developer.android.com/reference/android/app/ActionBar.html
版本:Android 4.0 r1
译者署名:Rongqi Fan
译者链接: 
ActionBar


public abstract class ActionBar extends Object

java.lang.Object
↳	android.app.ActionBar

有标题栏、导航模式、其它交互项的顶层Activity的窗口属性。

从Android 3.0开始,Activity使用系统Holo主题(及其后续的主题)的时候,默认情况下,工具栏出现在Activity窗口的顶层。你通过调用requestFeature(FEATURE_ACTION_BAR)或是通过windowActionBar定制主题的时候声明来添加工具栏。

默认情况下,程序的图标在工具栏的左边显示,前面是Activity的标题。如果你的Activity有一个选择菜单,。你可以修改工具栏的各种特性或完全移除它。

你可以通过你的Activity调用getActionBar()获取一个 ActionBar的实例。

一些时候,工具栏会被其它工具栏覆盖,使用ActionMode。例如:当用户选择Activity的一个或多个项,,。尽管这个UI或许在相同的位置出现。

开发者指南

如何使用工具栏的信息,包括如何添加工具项,模式等等,阅读:Action Bar 。

概述

嵌套类

类或接口类名或接口名描述
classActionBar.LayoutParams每个子布局与操作栏的定制的ActionBar相关的信息。
interfaceActionBar.OnMenuVisibilityListenerActionBar显示或隐藏的时候产生的事件,使用这个监听器监听。
interfaceActionBar.OnNavigationListenerActionBar导航时间的监听器接口。
classActionBar.TabActionBar里的选卡。
interfaceActionBar.TabListener当一个选卡获得焦点、失去焦点、添加、移除的时候,所需的回调函数


类型类型名描述
intDISPLAY_HOME_AS_UP把‘home’按钮作为一个返回上一级的按钮。
intDISPLAY_SHOW_CUSTOM如何设置了,就显示定制的界面
intDISPLAY_SHOW_HOME在ActionBar里显示‘home’,留出空间来显示其它的导航元素。
intDISPLAY_SHOW_TITLE如果有,显示Activity的标题和子标题
intDISPLAY_USE_LOGO如果有,使用logo代替图标
intNAVIGATION_MODE_LIST列出导航模式
intNAVIGATION_MODE_STANDARD标准导航模式
intNAVIGATION_MODE_TABS选卡导航模式

常量

public static final int DISPLAY_HOME_AS_UP

Since: API Level 11

显示一个“home”来暗示这是一个“up”。例如:在左边显示一个箭头来表示选中这个动作。

如果需要在ActionBar里使用“home”来返回上一级而不是返回到最开始的界面,就设置这个域。设置了这个域就隐式的禁用home/up按钮。阅读setHomeButtonEnabled(boolean)。

参考

• setDisplayOptions(int)

• setDisplayOptions(int, int)

常量值:4 (0x00000004)

public static final int DISPLAY_SHOW_CUSTOM

Since: API Level 11

如果设置就显示定制的视图。

参考

• setCustomView(View)

• setDisplayOptions(int)

• setDisplayOptions(int, int)

常量值:16 (0x00000010)


public static final int DISPLAY_SHOW_HOME

Since: API Level 11

在ActionBar里显示‘home’,留出更多的空间来显示其它导航的控件。包括logo和图标。

参考

• setDisplayOptions(int)

• setDisplayOptions(int, int)

常量值: 2 (0x00000002)

public static final int DISPLAY_SHOW_TITLE

Since: API Level 11

显示Activity的标题和子标题

参考

• setTitle(CharSequence)

• setTitle(int)

• setSubtitle(CharSequence)

• setSubtitle(int)

• setDisplayOptions(int)

• setDisplayOptions(int, int)

常量值: 8 (0x00000008)


public static final int DISPLAY_USE_LOGO

Since: API Level 11

如果有,使用logo代替图标。这个域使用适合的导航模式来适应宽的logo(比标准的图标宽)

参考

• setDisplayOptions(int)

• setDisplayOptions(int, int)

常量值: 1 (0x00000001)


public static final int NAVIGATION_MODE_LIST

Since: API Level 11

导航模式列表。代替静态的文本模式。例如:显示一个下拉列表。

常量值: 1 (0x00000001)


public static final int NAVIGATION_MODE_STANDARD

Since: API Level 11

标准导航模式。由一个logo或图标和标题,还有一个可选的子标题。点击这些元素会派送一个onOptionsItemSelected给主Activity,包括菜单项的ID由一个标识或图标。

常量值: 0 (0x00000000)


public static final int NAVIGATION_MODE_TABS

Since: API Level 11

选卡导航模式。替代文本导航模式,它显示一系列的选卡来实现导航。

常量值: 2 (0x00000002)


公共函数

public abstract void addOnMenuVisibilityListener (ActionBar.OnMenuVisibilityListener listener)

Since: API Level 11

响应菜单可视化属性改变的监听器。

参数

Listener  	新的监听器


public abstract void addTab (ActionBar.Tab tab, boolean setSelected)

Since: API Level 11

添加选卡,会添加到最后

参数

tab	        选卡
setSelected	添加的选卡处于被选中就为ture。


public abstract void addTab (ActionBar.Tab tab, int position)

Since: API Level 11

指定选卡的位置插入选卡。如果是第一个选卡,默认是选中状态。

参数

Tab        选卡
Position   选卡的位置


public abstract void addTab (ActionBar.Tab tab, int position, boolean setSelected)

Since: API Level 11

可以指定位置插入选卡

参数

Tab            选卡
Position       选卡的位置
setSelected    是否处于选中状态,如果是为ture


public abstract void addTab (ActionBar.Tab tab)

Since: API Level 11

添加选卡。添加到列表的最后。如果是第一个选卡,哪么它默认处于选中状态。

参数

tab  选卡


public abstract View getCustomView ()

Since: API Level 11

返回值

当前用户自定义的视图


public abstract int getDisplayOptions ()

Since: API Level 11

返回值

当前显示项的集合


public abstract int getHeight ()

Since: API Level 11

获取当前ActionBar的高度

返回值

ActionBar的高度


public abstract int getNavigationItemCount ()

Since: API Level 11

导航项的数量。

返回值

导航项的数量


public abstract int getNavigationMode ()

Since: API Level 11

当前导航模式,可以是以下的值:

•	NAVIGATION_MODE_STANDARD
•	NAVIGATION_MODE_LIST
•	NAVIGATION_MODE_TABS

返回值

当前导航模式


public abstract int getSelectedNavigationIndex ()

Since: API Level 11

选中项的位置

返回值

选项的位置


public abstract ActionBar.Tab getSelectedTab ()

Since: API Level 11

返回当前选中的标签,当前需要是标签导航模式,并且至少要有一个标签。

返回值

当前选中的标签或null


public abstract CharSequence getSubtitle ()

Since: API Level 11

标准模式下ActionBar的子标题。如果getNavigationMode()没有返回NAVIGATION_MODE_STANDARD就返回null

返回值

•	当前ActionBar的子标题或是null。


public abstract ActionBar.Tab getTabAt (int index)

Since: API Level 11

指定索引的标签

参数

index    索引值的范围是0—


public abstract int getTabCount ()

Since: API Level 11

在ActionBar里注册的选卡的数量

返回值

•	选卡数量


public Context getThemedContext ()

Since: API Level 14

返回ActionBar里和创建的视图匹配的主题的Context。如果扩大或实例化自定义ActionBar里的视图,你使用这个函数来返回Context。(包括导航模式的适配器。)

返回值

• 	创建视图的主题Context。


public abstract CharSequence getTitle ()

Since: API Level 11

标准模式下ActionBar的标题。如果getNavigationMode()函数没有返回NAVIGATION_MODE_STANDARD就返回null。

返回值

ActionBar的标题或null。


public abstract void hide ()

Since: API Level 11

如果ActionBar是显示的就隐藏。如果窗口没有FEATURE_ACTION_BAR_OVERLAY属性,就会重置窗口来产生新的空间以便显示ActionBar。

你可以让ActionBar使用覆盖属性通过来隐藏ActionBar,而不是直接调用这个函数。隐藏ActionBar通过系统的UI标识可以让ActionBar更加无缝的隐藏。


public abstract boolean isShowing ()

Since: API Level 11

返回值

如何ActionBar是显示的返回true。否则是false。


public abstract ActionBar.Tab newTab ()

Since: API Level 11

创建返回一个新的ActionBar。这个选卡不包含于ActionBar里,除非选卡被添加。

通常,选卡用于切换Fragment 对象。如下是实现选卡的代码:

这里有代码

返回值

•	新的选卡

参阅

•	addTab(Tab)


public abstract void removeAllTabs ()

Since: API Level 11

移除选卡并且当前的选卡设置为未选中。


public abstract void removeOnMenuVisibilityListener (ActionBar.OnMenuVisibilityListenerlistener)

Since: API Level 11

移除一个菜单的可视监听器。这个监听器不再接收菜单的可视化变化。

参数

listener  需要移除的监听器


public abstract void removeTab (ActionBar.Tab tab)

Since: API Level 11

从ActionBar里移除选卡。如果移除选卡是处于选中状态,就会反选并且选中另一个选卡。

参数

tab 需要移除的选卡


public abstract void removeTabAt (int position)

Since: API Level 11

移除选卡。如果移除选卡是处于选中状态,就会反选并且选中另一个选卡。

参数

position需要移除指定位置的选卡


public abstract void selectTab (ActionBar.Tab tab)

Since: API Level 11

选中指定的选卡。如果ActionBar没有,就会添加一个。

注意:如果你想通过索引选择,使用函数setSelectedNavigationItem(int)。

参数

tab选中的选卡


public abstract void setBackgroundDrawable (Drawable d)

Since: API Level 11

设置ActionBar的背景。用于主ActionBar。

参数

d	背景

参阅

•	setStackedBackgroundDrawable(Drawable)
•	setSplitBackgroundDrawable(Drawable)


public abstract void setCustomView (int resId)

Since: API Level 11

设置ActionBar为自定义的导航模式,提供一个自定义的视图。

在程序的图标和任何动作按钮之间显示自定义的导航视图,或许使用任何可用的空间。自定义导航模式通常是一个浏览器,它包含自动填充地址的控件,或其它没有提供转换导航模式的导航机制。

设置显示选项DISPLAY_SHOW_CUSTOM可以控制自定义视图被显示。

参数

resId	填充ActionBar布局的资源ID

参阅

•	setDisplayOptions(int, int)



public abstract void setCustomView (View view)

Since: API Level 11

设置ActionBar为自定义模式,提供一个自定义的视图。视图在程序的图标和任何动作按钮之间,也可以使用任何可用空间。通常用于如:一个浏览器,包括一个自动填充的地址栏。

参数

view	ActionBar里自定义模式的视图



public abstract void setCustomView (View view, ActionBar.LayoutParams layoutParams)

Since: API Level 11

视图在程序图标和任何动作按钮之间出现,也可以使用任何空间。通常用于如:一个浏览器,包括一个自动填充的地址栏。

需要设置显示选项DISPLAY_SHOW_CUSTOM。

参数

view	ActionBar里的自定义导航模式
layoutParams	自定义视图以什么布局显示在ActionBar里

参阅

•	setDisplayOptions(int, int)


public abstract void setDisplayHomeAsUpEnabled (boolean showHomeAsUp)

Since: API Level 11

home是否作为up使用。如果点击‘home’返回上一级界面而不是主界面,就设置为true。一次设置多个显示模式阅读setDisplayOptions函数。

参数showHomeAsUp点击‘home’返回上一级界面而不是app的主界面,就设置为true

参数

•	setDisplayOptions(int)
•	setDisplayOptions(int, int)


public abstract void setDisplayOptions (int options, int mask)

Since: API Level 11

设置显示模式。通过掩码指定。可以通过位选项修改所有的模式,阅读 setDisplayOptions(int)。

例如:setDisplayOptions(0, DISPLAY_SHOW_HOME)会禁用选项DISPLAY_SHOW_HOME 。setDisplayOptions(DISPLAY_SHOW_HOME, DISPLAY_SHOW_HOME | DISPLAY_USE_LOGO)会启用DISPLAY_SHOW_HOME和 DISPLAY_USE_LOGO。

参数

options	在ActionBar里,通过常量来定义结合位
mask	声明显示选项的位掩码


public abstract void setDisplayOptions (int options)

Since: API Level 11

设置显示选项。一次修改所有的显示选项。修改有限子集显示选项,阅读setDisplayOptions(int, int)。

参数

options ActionBar里通过DISPLAY_常量定义的结合位。


public abstract void setDisplayShowCustomEnabled (boolean showCustom)

Since: API Level 11

如果设置,自定义视图显示。

如果一次设置多个显示选项,参阅setDisplayOptions函数。

参数

showCustom	如果当前自定义视图需要显示,就为true。否则false。

参考

•	setDisplayOptions(int)
•	setDisplayOptions(int, int)



public abstract void setDisplayShowHomeEnabled (boolean showHome)

Since: API Level 11

home按钮是否在ActionBar里显示。home作为ActionBar的图标或logo显示。

如果一次设置多个显示选项,参阅setDisplayOptions函数。

参数

showHome	如果显示home,否则false。

参阅

•	setDisplayOptions(int)
•	setDisplayOptions(int, int)


public abstract void setDisplayShowTitleEnabled (boolean showTitle)

Since: API Level 11

Activity的标题或子标题是否显示。

如果一次设置多个显示选项,参阅setDisplayOptions函数。

参数

showTitle	如果显示标题或子标题就为true。

参阅

•	setDisplayOptions(int)
•	setDisplayOptions(int, int)



public abstract void setDisplayUseLogoEnabled (boolean useLogo)

Since: API Level 11

是否显示Activity的logo而不是图标。logo通常更宽,更细腻。

如果一次设置多个显示选项,参阅setDisplayOptions函数。

参数

useLogo	如果使用logo为true,使用图标为false。

参阅

•	setDisplayOptions(int)
•	setDisplayOptions(int, int)



public void setHomeButtonEnabled (boolean enabled)

Since: API Level 14

在ActionBar的正中是否显示‘home’。(注意:这是应用程序的home或上一级按钮,不是系统的主界面按钮。)

在API14以前,默认是true,程序需要调用这函数来启用home/上一级。设置DISPLAY_HOME_AS_UP显示选项将自动地启用主界面按钮。

参数

enabled启用home按钮为true,否则为false。


public abstract void setIcon (Drawable icon)

Since: API Level 14

使用图标来显示home按钮。ActionBar使用一个指定风格的图标或是Activity的默认图标。home按钮是否通过显示选项DISPLAY_USE_LOGO显示一个图标或是logo。

参数

icon	图标

参阅

•	setDisplayUseLogoEnabled(boolean)
•	setDisplayShowHomeEnabled(boolean)


public abstract void setIcon (int resId)

Since: API Level 14

在home域现实的图标。ActionBar使用一个指定风格的图标或是Activity的默认图标。home按钮是否通过显示选项DISPLAY_USE_LOGO显示一个图标或是logo。

参数

resId	图标的资源ID

参阅

•	setDisplayUseLogoEnabled(boolean)
•	setDisplayShowHomeEnabled(boolean)


public abstract void setListNavigationCallbacks (SpinnerAdapter adapter,ActionBar.OnNavigationListener callback)

Since: API Level 11

列表导航模式下设置适配器和回调。适配器将为列表的当前选中项提供视图。(这将会显示的不同。)当用户改变当前列表选项会通过OnNavigationListener通知用户。

参数

adapter 提供显示当前模式域和弹出下拉菜单的视图
callback 当用户选择导航项的时候,OnNavigationListener将接收到这个事件.


public abstract void setLogo (int resId)

Since: API Level 14

‘home’域显示的logo。ActionBar使用指定的风格的logo或是Activity的默认logo。‘home’域是否显示图标或logo通过显示选项DISPLAY_USE_LOGO来控制。

参数

resId	logo资源的ID

参阅

•	setDisplayUseLogoEnabled(boolean)
•	setDisplayShowHomeEnabled(boolean)



public abstract void setLogo (Drawable logo)

Since: API Level 14

‘home’域显示的logo。ActionBar使用指定的风格的logo或是Activity的默认logo。‘home’域是否显示图标或logo通过显示选项DISPLAY_USE_LOGO来控制。

参数

logo	需要显示的logo

参阅

•	setDisplayUseLogoEnabled(boolean)
•	setDisplayShowHomeEnabled(boolean)


public abstract void setNavigationMode (int mode)

Since: API Level 11

设置当前导航模式

参数

Mode	新模式

参阅

•	NAVIGATION_MODE_STANDARD
•	NAVIGATION_MODE_LIST
•	NAVIGATION_MODE_TABS


public abstract void setSelectedNavigationItem (int position)

Since: API Level 11

选中指定位置的导航项。

参数

position 选中指定位置的选项


public void setSplitBackgroundDrawable (Drawable d)

Since: API Level 14

设置ActionBar的分隔背景。在分隔背景上包含菜单如:动作按钮、设备配置。

你可以通过uiOptions来启用分隔ActionBar。参数

d	d  拆分条的背景



public void setStackedBackgroundDrawable (Drawable d)

Since: API Level 14

设置ActionBar的重叠背景。一些设备或配置的时候,会在第二行里显示重叠的背景。

参数

d 重叠的背景


public abstract void setSubtitle (int resId)

Since: API Level 11

ActionBar的子标题。除非 DISPLAY_SHOW_TITLE被设置了,子标题才会显示。

参数

resId	子标题的资源ID

参阅

•	setSubtitle(CharSequence)
•	setDisplayOptions(int, int)


public abstract void setSubtitle (CharSequence subtitle)

Since: API Level 11

ActionBar的子标题。除非 DISPLAY_SHOW_TITLE被设置了,子标题才会显示。不显示子标题就设置为null。

参数

subtitle	子标题

参阅

•	setSubtitle(int)
•	setDisplayOptions(int, int)


public abstract void setTitle (int resId)

Since: API Level 11

设置ActionBar的标题,除非 DISPLAY_SHOW_TITLE被设置了,标题才会显示。

参数

resId	标题资源的ID。

参阅

•	setTitle(CharSequence)
•	setDisplayOptions(int, int)


public abstract void setTitle (CharSequence title)

Since: API Level 11

设置ActionBar的标题,除非 DISPLAY_SHOW_TITLE被设置了,标题才会显示。

参数

title	标题

参阅:

•	setTitle(int)
•	setDisplayOptions(int, int)


public abstract void show ()

Since: API Level 11

如果当前的ActionBar没有显示给用户,就显示ActionBar。如果窗口没有属性FEATURE_ACTION_BAR_OVERLAY,那么就重置程序来产生一个新的可用空间。

如果你通过 View.SYSTEM_UI_FLAG_FULLSCREEN隐藏了ActionBar,你需要直接调用函数。

除非另有说明,这个content是遵守Apache 2.0。更多的细节和限制,阅读 Content License。


译者注 1、格式还没有调整 2、代码没有添加

取自“ http://wikidroid.sinaapp.com/ActionBar”


共有 0人喜欢  共 0条评论
登录 社区
头衔:
确定 取消
编辑头衔
邮箱:
确定 取消
跟踪回复
0条评论
0次被喜欢
 
表情
  • 默认表情
  • 阿狸
    140
    发  布
    按时间排序
    排序方式:
    按时间排序 按热度排序
    还没有评论内容
    更多热评文章
    • 对“overScrollBy”的搜索结果
    • 对“KeyEvent”的搜索结果
    • Android.graphics.Bitmap
    • 对“onKeyUp”的搜索结果
    友言[?]
    表情
    • 默认表情
    • 阿狸
      140
      回  复
          
       
       
          
      wikidroid.sinaapp.com
      33
      评论数
      32
      喜欢数
      22
      用户数
      数据正在加载中...
      友言
      社会化帐号登录

      点击按钮,使用社交帐号评论

        新浪微博   QQ   腾讯微博

      作为游客留言

      Email *

      昵  称

      顶并分享到:
      新浪微博
      新浪微博
      新浪微博
      顶 取消
      个人工具
      • 登录/创建账户
      名字空间
      • 页面
      • 讨论
      变换
      查看
      • 阅读
      • 查看源代码
      • 查看历史
      动作
      导航
      • 首页
      • 社区入口
      • 当前事件
      • 最近更改
      • 随机页面
      • 帮助
      • 官方微博
      Android开发者
      • Android软件开发工具包
      • Android开发者指南
      • Android中文API
      • Android资源
      • Android设计
      • Android专用搜索
      工具箱
      • 链入页面
      • 链出更改
      • 特殊页面
      • 可打印版

      这篇关于ActionBar各种属性的详细解析的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



      http://www.chinasem.cn/article/1003019

      相关文章

      Java中Redisson 的原理深度解析

      《Java中Redisson的原理深度解析》Redisson是一个高性能的Redis客户端,它通过将Redis数据结构映射为Java对象和分布式对象,实现了在Java应用中方便地使用Redis,本文... 目录前言一、核心设计理念二、核心架构与通信层1. 基于 Netty 的异步非阻塞通信2. 编解码器三、

      Java HashMap的底层实现原理深度解析

      《JavaHashMap的底层实现原理深度解析》HashMap基于数组+链表+红黑树结构,通过哈希算法和扩容机制优化性能,负载因子与树化阈值平衡效率,是Java开发必备的高效数据结构,本文给大家介绍... 目录一、概述:HashMap的宏观结构二、核心数据结构解析1. 数组(桶数组)2. 链表节点(Node

      Java 虚拟线程的创建与使用深度解析

      《Java虚拟线程的创建与使用深度解析》虚拟线程是Java19中以预览特性形式引入,Java21起正式发布的轻量级线程,本文给大家介绍Java虚拟线程的创建与使用,感兴趣的朋友一起看看吧... 目录一、虚拟线程简介1.1 什么是虚拟线程?1.2 为什么需要虚拟线程?二、虚拟线程与平台线程对比代码对比示例:三

      一文解析C#中的StringSplitOptions枚举

      《一文解析C#中的StringSplitOptions枚举》StringSplitOptions是C#中的一个枚举类型,用于控制string.Split()方法分割字符串时的行为,核心作用是处理分割后... 目录C#的StringSplitOptions枚举1.StringSplitOptions枚举的常用

      Python函数作用域与闭包举例深度解析

      《Python函数作用域与闭包举例深度解析》Python函数的作用域规则和闭包是编程中的关键概念,它们决定了变量的访问和生命周期,:本文主要介绍Python函数作用域与闭包的相关资料,文中通过代码... 目录1. 基础作用域访问示例1:访问全局变量示例2:访问外层函数变量2. 闭包基础示例3:简单闭包示例4

      MyBatis延迟加载与多级缓存全解析

      《MyBatis延迟加载与多级缓存全解析》文章介绍MyBatis的延迟加载与多级缓存机制,延迟加载按需加载关联数据提升性能,一级缓存会话级默认开启,二级缓存工厂级支持跨会话共享,增删改操作会清空对应缓... 目录MyBATis延迟加载策略一对多示例一对多示例MyBatis框架的缓存一级缓存二级缓存MyBat

      前端缓存策略的自解方案全解析

      《前端缓存策略的自解方案全解析》缓存从来都是前端的一个痛点,很多前端搞不清楚缓存到底是何物,:本文主要介绍前端缓存的自解方案,文中通过代码介绍的非常详细,需要的朋友可以参考下... 目录一、为什么“清缓存”成了技术圈的梗二、先给缓存“把个脉”:浏览器到底缓存了谁?三、设计思路:把“发版”做成“自愈”四、代码

      Java集合之Iterator迭代器实现代码解析

      《Java集合之Iterator迭代器实现代码解析》迭代器Iterator是Java集合框架中的一个核心接口,位于java.util包下,它定义了一种标准的元素访问机制,为各种集合类型提供了一种统一的... 目录一、什么是Iterator二、Iterator的核心方法三、基本使用示例四、Iterator的工

      Python中isinstance()函数原理解释及详细用法示例

      《Python中isinstance()函数原理解释及详细用法示例》isinstance()是Python内置的一个非常有用的函数,用于检查一个对象是否属于指定的类型或类型元组中的某一个类型,它是Py... 目录python中isinstance()函数原理解释及详细用法指南一、isinstance()函数

      Python的pandas库基础知识超详细教程

      《Python的pandas库基础知识超详细教程》Pandas是Python数据处理核心库,提供Series和DataFrame结构,支持CSV/Excel/SQL等数据源导入及清洗、合并、统计等功能... 目录一、配置环境二、序列和数据表2.1 初始化2.2  获取数值2.3 获取索引2.4 索引取内容2