xamarin.android searchview的一些用法
前言
searchview是安卓常用的搜索控件,网上有很多关于searchview都是java的,所以我参看xamaroin官网的一些demo总结一些方法。
导读
1.如何创建一个searchview
2.searchview的常用事件
3.如何使用searchview
正文
1.如何创建一个searchview
创建一个searchview很简单,我们只需要新建一个布局文件,然后重写OnCreateOptionsMenu即可。

如图所示,在Resources文件夹下新建一个文件夹名为Menu,在文件夹内新建一个xml布局文件。
search.xml
<?xml version="1.0" encoding="utf-8" ?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/search"
android:title="Search"
android:showAsAction="ifRoom"
android:actionViewClass="android.widget.SearchView" />
</menu>
这样我们的布局文件就建好了,然后重写OnCreateOptionsMenu即可。
public override bool OnCreateOptionsMenu(IMenu menu)
{
MenuInflater.Inflate(Resource.Menu.search, menu);
var searchView = (SearchView)menu.FindItem(Resource.Id.search).ActionView;return true;
}
最终效果图如下:

这样我们的searchview就算创建完成了。
2.searchview的主要方法
searchview的作用无非就是进行搜索,那我们常用到的事件就包括这几种:
OnQueryTextListener 查询内容发生改变时调用
OnCloseListener 关闭searchview时调用
onQueryTextChange 查询的文本字段的新内容,相当于边写边搜
onQueryTextSubmit 查询要提交的查询内容
onClose 关闭searchview时触发的事件
下面就用代码演示这几种事件的使用用法
3.如何使用searchview
调用这个方法首先要继承searchview类
public class Activity1 : SearchView.IOnQueryTextListener,SearchView.IOnCloseListener
这里同时继承了IOnQueryTextListener与IOnCloseListener,如果不继承这个类就会提示类型无法转换的错误。
继承之后我们就可以设置监听事件,同样是重写OnCreateOptionsMenu。
searchView.SetOnQueryTextListener(this);
searchView.SetOnCloseListener(this);
设置完监听事件即可重写这几种方法
public bool OnQueryTextChange(string newText)
{ return true;
} public bool OnQueryTextSubmit(string query)
{ return true;
} public bool OnClose()
{ return true;
}
图片演示


xamarin.android searchview的一些用法的更多相关文章
- Android SearchView设置与用法的那点事儿
// 设置该SearchView默认是否自动缩小为图标 mSearchView.setIconifiedByDefault(false); // 为该SearchView组件设置事件监听器 mSear ...
- Xamarin Android Gestures详解
通过Gesture的监听我们将实现一个,手指的快速滑动显示坐标的变化,我们先来看一看效果图: 1.Android中手势交互的执行顺序 1.手指触碰屏幕时,触发MotionEvent事件! 2.该事件被 ...
- xamarin android listview的用法
listview也许是用的非常频繁的一个控件之一,下面我写一个xamarin的listview栗子,大家尝一尝xamarin android开发的乐趣.原谅我的大小写吧. listview绑定自定义的 ...
- xamarin android viewpager的用法
1.什么是ViewPager 通过手势滑动可以完成view的切换,一般是用来app的引导页或则实现图片轮播,类似网页上的banner轮播. Adnroid 3.0后引入的一个UI控件,在xamarin ...
- 我正在使用Xamarin的跨平台框架—Xamarin.Android回忆录
一.缘起 在自己给别家公司做兼职外包的时候,已经明确知道外包的活不是那么好干的,一般在经历了初期热血澎湃的激情后,逐渐冷淡,愤怒,再冷淡,再愤怒…,听上去好像高潮迭起,但令人尴尬的是,这高潮迭起我们都 ...
- 跨过几个坑,终于完成了我的第一个Xamarin Android App!
时间过得真快,距离上次发随笔又是一年多.作为上次发的我的第一个WP8.1应用总结的后继,这次同样的主要功能,改为实现安卓版APP.前几个月巨硬收购Xamarin,把Xamarin集成到VS里了,大大方 ...
- JPush (极光推送) For Xamarin.Android
官方教程上讲的是 GCM (Google Cloud Messaging) , 不过 GFW 是 GCM 过不去的坎. 极光推送 JPush 是国内的一个不错的替代方案. JPush 提供的 API ...
- Xamarin.Android开发实践(八)
Xamarin.Android其他类型的服务 一.前言 前面我们已经学了关于服务的很多知识,但是对于真实的开发那些远远不够,通过这节我们将学习其他类型的服务,比如前台服务.IntentService和 ...
- Xamarin.Android Binding篇
前言 趁着失业了,闲着没事儿学习了下Xamarin.Android binding,在以往的开发中,我相信很多人都遇到过binding的坑,也不例外, 我也踩了很多雷,好在认识了个大佬,指导了很多 ...
随机推荐
- 九度oj 题目1016:火星A+B
题目描述: 读入两个不超过25位的火星正整数A和B,计算A+B.需要注意的是:在火星上,整数不是单一进制的,第n位的进制就是第n个素数.例如:地球上的10进制数2,在火星上记为“1,0”,因为 ...
- POJ 1741 Tree ——点分治
[题目分析] 这貌似是做过第三道以Tree命名的题目了. 听说树分治的代码都很长,一直吓得不敢写,有生之年终于切掉这题. 点分治模板题目.自己YY了好久才写出来. 然后1A了,开心o(* ̄▽ ̄*)ブ ...
- USACO Party Lamps
题目大意:一排灯有n个,有4种开关,每种开关能改变一些灯现在的状态(亮的变暗,暗的变亮)现在已知一些灯的亮暗情况,问所以可能的情况是哪些 思路:同一种开关开两次显然是没效果的,那么枚举每个开关是否开就 ...
- 刷题总结——鸭舌(ssoi)
题目: 题目背景 CF 77C 题目描述 小美喜欢吃鸭舌.有一个 n 个点的树,每个节点 i ,第 i 个点上有 ai 个鸭舌.小美一开始处于 x 号点.每次小美可以选择一个与现在的点有边的点而且那个 ...
- 转载:CMarkUp使用简介
转载地址:http://blog.csdn.net/jonathandj/article/details/4320725 最近正在研究C++下的XML分析工具CMarkup.初次和XML相遇是基于C# ...
- msp430入门学习44
msp430的其他十二 msp430入门学习
- DispatcherServlet url-pattern中 /、/*、*.do中的区别与作用
DispatcherServlet url-pattern中 /./*.*.do中的区别与作用 "/'表示匹配所有请求(其中包含除.jsp和.jspx外的所有后缀). 如果不配置静态资源,它 ...
- P1576 最小花费 洛谷
https://www.luogu.org/problem/show?pid=1576 题目背景 题目描述 在n个人中,某些人的银行账号之间可以互相转账.这些人之间转账的手续费各不相同.给定这些人之间 ...
- HBase总结
1.HBase是一个分布式的.面向列的开源数据库,该技术来源于 Fay Chang 所撰写的Google论文“Bigtable:一个结构化数据的分布式存储系统”.就像Bigtable利用了Google ...
- 局域网Cesium离线影像及瓦片影像地图加载
1.Cesium简介 优点: cesium展示地图数据效果比较好,解析2D地图各种不同服务类型的数据源,比如百度地图.天地图.arcgis地图.BingMap.openStreetMap.MapBox ...