Android-在动作栏中增加“查询”视图
2016-03-19 18:10
411 查看
运行APP程序,由于当前模拟器屏幕比较小,部分动作项没有显示,单击键盘上的”MENU”按钮,会出现菜单栏。单击表示查询的放大镜图标,输入查询关键词,按回车键会显示字样:查询:…
Action View(动作视图)是出现在动作栏中,代替动作项按钮的小工具。可以在工作栏中增加”查询”动作项。增加动作视图时,只需要设置项的actionViewClass属性即可。actionViewClass属性用来为动作栏指定一个视图类。本例中,为动作项的actionViewClass属性指定了系统自带的android.widget.SearchView控件:android:actionViewClass=”android.widget.SearchView”
实现过程:
1.修改/res/layout/包中的main_activity.xml文件,设置背景图片
2.在/res/menu文件夹中新建actions.xml文件,增加4个菜单项,为第一个菜单项设置actionViewClass属性为”android.widget.SearchView”,其他的不设置。
3.新建ActionViewActivity类,继承Activity类。在onCreate()方法中应用布局文件。在onCreateOptionsMenu()方法中,获得SearchView,然后处理查询事件。在onOptionsItemSelected()方法中,处理菜单项选择事件。
Action View(动作视图)是出现在动作栏中,代替动作项按钮的小工具。可以在工作栏中增加”查询”动作项。增加动作视图时,只需要设置项的actionViewClass属性即可。actionViewClass属性用来为动作栏指定一个视图类。本例中,为动作项的actionViewClass属性指定了系统自带的android.widget.SearchView控件:android:actionViewClass=”android.widget.SearchView”
实现过程:
1.修改/res/layout/包中的main_activity.xml文件,设置背景图片
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:background="@drawable/jay1" > </LinearLayout>
2.在/res/menu文件夹中新建actions.xml文件,增加4个菜单项,为第一个菜单项设置actionViewClass属性为”android.widget.SearchView”,其他的不设置。
<menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" > <item android:id="@+id/action_settings" android:orderInCategory="100" android:showAsAction="never" android:title="@string/action_settings"/> </menu>
3.新建ActionViewActivity类,继承Activity类。在onCreate()方法中应用布局文件。在onCreateOptionsMenu()方法中,获得SearchView,然后处理查询事件。在onOptionsItemSelected()方法中,处理菜单项选择事件。
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } @Override public boolean onCreateOptionsMenu(Menu menu) { MenuInflater flater=getMenuInflater(); flater.inflate(R.menu.actions, menu); SearchView searchView=(SearchView)menu.findItem(R.id.search_action).getActionView(); searchView.setOnQueryTextListener(new OnQueryTextListener() { @Override public boolean onQueryTextSubmit(String query) { // TODO Auto-generated method stub Toast.makeText(MainActivity.this, "查询:"+query, Toast.LENGTH_LONG).show(); return true; } @Override public boolean onQueryTextChange(String newText) { // TODO Auto-generated method stub return true; } }); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { Toast.makeText(MainActivity.this, "选择"+item.getTitle(), Toast.LENGTH_SHORT).show(); return true; } }
相关文章推荐
- Android操作联系人
- Android官方开发文档Training系列课程中文版:构建第一款安卓应用之环境配置
- Android Canvas
- Android文件的读写操作
- Android学习之数据库DBFlow的使用
- Android 中外部存储在不同android版本上面的位置
- Android基础
- Android官方开发文档Training系列课程中文版:构建第一款安卓应用之入门指南
- Android艺术开发探索学习 之 测量view的宽高 以及 动态设置View的位置
- Android之线程池深度剖析
- 十一、Android的线程和线程池
- 十、Android的消息机制
- 图文讲解Android的ImageView类中的ScaleType属性设置
- Android Studio 报错 plugin is too old
- android 仿ios列表头可以停靠在列表顶部的列表PinnedHeaderListView
- android图片的三级缓存
- android 获得焦点并弹出软键盘
- 【LatinIME】默认开启键盘按键声
- android AndFix热补丁框架(不发版本,修复线上bug)
- Android日期相关函数的工具类