zoukankan      html  css  js  c++  java
  • 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;
            }

      图片演示

  • 相关阅读:
    人类登月不可或缺 大型机半个世纪发展史
    宽带上网知识(如何进行上网流程配置,路由器上网配置)
    团队项目第二阶段——第二天
    用户体验评价之QQ浏览器
    团队项目第二阶段——第一天
    第十四周学习进度总结
    《梦断代码》阅读笔记02
    第十三周学习进度总结
    第一阶段意见评论
    第十二周学习进度总结
  • 原文地址:https://www.cnblogs.com/lihuazou/p/4333278.html
Copyright © 2011-2022 走看看