前言

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. 【Luogu】P1578奶牛浴场(DP,枚举)

    题目链接 枚举极大子矩形.详情请见本题题解:I_AM_HelloWord 代码如下 #include<cstdio> #include<cctype> #include< ...

  2. 【Luogu】P2827蚯蚓(堆转队列)

    按照国际惯例先发题目链接‍ woc从4月就开始做这sb题.最开始30分升到65分不管了,直到最近几天升到85分,再到今天AC.激动的心情自然是那些一遍就A或者一小时以内就A的神犇难以想象的. 下面说说 ...

  3. BZOJ2457 [BeiJing2011]双端队列 【贪心】

    题目 Sherry现在碰到了一个棘手的问题,有N个整数需要排序. Sherry手头能用的工具就是若干个双端队列. 她需要依次处理这N个数,对于每个数,Sherry能做以下两件事: 1.新建一个双端队列 ...

  4. 【2018.10.1】「JOI 2014 Final」年轮蛋糕

    题面 一看到求“最小值的最大值”这种问题,就能想到二分了. 二分答案,然后我们要把一圈分成三块,使这三块的大小都$\geq mid$.做法是把环展开成2倍长度的链,先钦定一个起点,然后根据前缀和再二分 ...

  5. spring 如何动态加载properties文件的内容

    1. 在xml中配置你的properties路径: <bean id="messageSource" class="org.springframework.cont ...

  6. 花匠(codevs 3289)

    题目描述 Description 花匠栋栋种了一排花,每株花都有自己的高度.花儿越长越大,也越来越挤.栋栋决定把这排中的一部分花移走,将剩下的留在原地,使得剩下的花能有空间长大,同时,栋栋希望剩下的花 ...

  7. AtCoder Regular Contest 074F - Lotus Leaves

    $n \leq 300,m \leq 300$,$n*m$的格子里有起点有终点有空地有障碍,人会从起点选一个同行或同列空地跳过去,然后一直这样跳到终点.求至少删掉多少格子使得人跳不到终点. 首先S和T ...

  8. Codeforces Round #269 (Div. 2) D - MUH and Cube Walls kmp

    D - MUH and Cube Walls Time Limit:2000MS     Memory Limit:262144KB     64bit IO Format:%I64d & % ...

  9. Poi写文件时报java.io.IOException: Read error

    使用POI报表时不停的报java.io.IOException: Read error,看网上是说关闭了InputStream所导致的,由于我的InputStream是读取和写入都是用的同一个,所以就 ...

  10. mongodb的入门CURD

    mongodb的入门CURD #查看所有数据库show dbs;show databases; #有些版本可能不行 #使用数据库use 数据库名 #查看集合(集合即mysql的表)show table ...