Action 接口提供 ActionListener 接口的一个有用扩展,以便若干控件访问相同的功能。
除了 ActionListener 接口定义的 actionPerformed
方法之外,此接口还允许应用程序在一个位置定义:
描述函数的一个或多个文本字符串。这些字符串可用于显示按钮的立体文本、在菜单项中设置文本等等。
描述函数的一个或多个图标。这些图标可用于菜单控件中的图像,或者用于更复杂用户界面中的合成项。
功能的启用/禁用状态。应用程序可以禁用实现此接口的函数,而不必分别禁用菜单项和工具栏按钮。所有为侦听状态更改而注册为侦听器的组件都将禁止为该项生成事件,并相应地修改显示。
可以将此接口添加到现有类中,或者用它创建一个适配器(通常通过子类化 AbstractAction 来实现)。然后可以将
Action 对象添加到多个可感知 Action 的容器中,并连接到可容纳
Action 的组件。然后可以通过调用 Action 对象的 setEnabled
方法立刻激活或取消激活 GUI 控件。
注意,Action 实现在存储方面的开销比典型的 ActionListener
要高,但后者不具有集中控制功能和广播属性更改的优点。因此,应该注意只在需要这些优点的地方使用 Action,在别处使用
ActionListener 即可。
支持 Action 的 Swing 组件
许多 Swing 的组件都具有 Action 属性。在组件上设置 Action
时,会发生以下几种情况:
Action 被作为 ActionListener 添加到组件。
组件配置自身的某些属性以匹配 Action。
组件在 Action 上安装 PropertyChangeListener,这样组件可更改其属性以反映 Action 属性中的更改。
Action bar 允许添加按钮。可以添加 icon 和/或文本被称作 action buttons( *** 作按钮) 。安排不下的或不足够重要的 *** 作被隐藏在 action overflow (超出空间的action)中。在 XML 中指定 *** 作
所有的 *** 作按钮和 action overflow 中其他可用的条目都被定义在 menu资源 的 XML 文件中。通过在项目的res/menu目录中新增一个 XML 文件来为 action bar 添加 *** 作。
为想要添加到 action bar 中的每个条目添加一个 <item> 元素。例如:
res/menu/main_activity_actions.xml
如果为了兼容 Android 2.1 的版本使用了 Support 库,在android命名空间下showAsAction属性是不可用的。
Support 库会提供替代它的属性,我们必须声明自己的 XML 命名空间,并且使用该命名空间作为属性前缀。(一个自定义 XML 命名空间需要以我们的 app 名称为基础,但是可以取任何想要的名称,它的作用域仅仅在我们声明的文件之内。)例如:res/menu/main_activity_actions.xml
为 Action Bar 添加 *** 作
在 activity 中实现 onCreateOptionsMenu() 回调方法来inflate菜单资源从而获取 Menu 对象。例如:
为 *** 作按钮添加响应事件
调用 activity 中 onOptionsItemSelected() 。在该方法的实现里面调用 MenuItem 的 getItemId() 来判断哪个条目被按下 - 返回的 ID。例如:
为下级 Activity 添加向上按钮
当运行在 Android 4.1(API level 16) 或更高版本,或者使用 Support 库中的 ActionBarActivity 时,实现向上导航需要在 manifest 文件中声明父 activity ,同时在 action bar 中设置向上按钮可用。
如何在 manifest 中声明一个 activity 的父类,例如:
然后,通过调用 setDisplayHomeAsUpEnabled() 来把 app icon 设置成可用的向上按钮:
由于系统已经知道MainActivity是DisplayMessageActivity的父 activity,当用户按下向上按钮时,系统会导航到恰当的父 activity - 你不需要去处理向上按钮的事件。
源地址:http://wiki.jikexueyuan.com/project/android-training-geek/adding-buttons.html
1、动态添加超链接可以采用js *** 作dom2、需要链接到页面那么你需要的就不仅是标题了,至少再包含一个id(链接后边的查询参数)
3、至于action那么首先在动态生成链接的时候需要查询返回需要展示的数据集合,在点击链接的时候再查询返回详细信息
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)