前言

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的一些用法的更多相关文章

  1. Android SearchView设置与用法的那点事儿

    // 设置该SearchView默认是否自动缩小为图标 mSearchView.setIconifiedByDefault(false); // 为该SearchView组件设置事件监听器 mSear ...

  2. Xamarin Android Gestures详解

    通过Gesture的监听我们将实现一个,手指的快速滑动显示坐标的变化,我们先来看一看效果图: 1.Android中手势交互的执行顺序 1.手指触碰屏幕时,触发MotionEvent事件! 2.该事件被 ...

  3. xamarin android listview的用法

    listview也许是用的非常频繁的一个控件之一,下面我写一个xamarin的listview栗子,大家尝一尝xamarin android开发的乐趣.原谅我的大小写吧. listview绑定自定义的 ...

  4. xamarin android viewpager的用法

    1.什么是ViewPager 通过手势滑动可以完成view的切换,一般是用来app的引导页或则实现图片轮播,类似网页上的banner轮播. Adnroid 3.0后引入的一个UI控件,在xamarin ...

  5. 我正在使用Xamarin的跨平台框架—Xamarin.Android回忆录

    一.缘起 在自己给别家公司做兼职外包的时候,已经明确知道外包的活不是那么好干的,一般在经历了初期热血澎湃的激情后,逐渐冷淡,愤怒,再冷淡,再愤怒…,听上去好像高潮迭起,但令人尴尬的是,这高潮迭起我们都 ...

  6. 跨过几个坑,终于完成了我的第一个Xamarin Android App!

    时间过得真快,距离上次发随笔又是一年多.作为上次发的我的第一个WP8.1应用总结的后继,这次同样的主要功能,改为实现安卓版APP.前几个月巨硬收购Xamarin,把Xamarin集成到VS里了,大大方 ...

  7. JPush (极光推送) For Xamarin.Android

    官方教程上讲的是 GCM (Google Cloud Messaging) , 不过 GFW 是 GCM 过不去的坎. 极光推送 JPush 是国内的一个不错的替代方案. JPush 提供的 API ...

  8. Xamarin.Android开发实践(八)

    Xamarin.Android其他类型的服务 一.前言 前面我们已经学了关于服务的很多知识,但是对于真实的开发那些远远不够,通过这节我们将学习其他类型的服务,比如前台服务.IntentService和 ...

  9. Xamarin.Android Binding篇

    前言 趁着失业了,闲着没事儿学习了下Xamarin.Android binding,在以往的开发中,我相信很多人都遇到过binding的坑,也不例外, 我也踩了很多雷,好在认识了个大佬,指导了很多  ...

随机推荐

  1. 九度oj 题目1472:求两个多项式的和

    题目描述: 输入两个多项式,计算它们的和. 每个多项式有若干对整数表示,每组整数中,第一个整数表示系数(非0),第二个整数表示该项的次数. 如由3 3 5 -2 1 4 0表示3x^5 - 2 * x ...

  2. Ignite集成Spark之IgniteDataFrames

    下面简要地回顾一下在第一篇文章中所谈到的内容. Ignite是一个分布式的内存数据库.缓存和处理平台,为事务型.分析型和流式负载而设计,在保证扩展性的前提下提供了内存级的性能. Spark是一个流式数 ...

  3. P1279 字串距离 (动态规划)

    题目描述 设有字符串X,我们称在X的头尾及中间插入任意多个空格后构成的新字符串为X的扩展串,如字符串X为”abcbcd”,则字符串“abcb□cd”,“□a□bcbcd□”和“abcb□cd□”都是X ...

  4. 如何使用ftrace

    基本使用 1. 编译内核 ref:http://www.omappedia.org/wiki/Installing_and_Using_Ftrace========================== ...

  5. spring boot--常用配置

    spring boot 需要引用的依赖项: spring-boot-starter-parent // 所有Spring Boot组件的基础引用 spring-boot-starter-web // ...

  6. hdu4888 多校B 最大流以及最大流唯一判断+输出方案

    题意,给一个矩阵,告诉你每行和.每列和,并且限制所填数不大于k,问矩阵是否唯一. 经典建图不说了,第一次遇到判断最大流唯一性的,学习了:用dfs来判断残网中是否还存在环,若存在,则表明绕这个环走一圈, ...

  7. hdu3078 建层次树+在线LCA算法+排序

    题意:n个点,n-1条边构成无向树,每个节点有权,Q次询问,每次或问从a->b的最短路中,权第k大的值,/或者更新节点a的权, 思路:在线LCA,先dfs生成树0,标记出层数和fa[](每个节点 ...

  8. 关于SIP一些总结

    SIP(session Initiation protocol)会话初始协议,是应用层信令控制协议,主要应用于创建.修改.释放多媒体会话. 一般而言,SIP只负责不同UE之间的协商与通信,比如媒体能力 ...

  9. 存code

    #include<cstdio> #include<cstring> #include<iostream> #include<algorithm> us ...

  10. Codeforces 959 E Mahmoud and Ehab and the xor-MST

    Discription Ehab is interested in the bitwise-xor operation and the special graphs. Mahmoud gave him ...