精华内容
下载资源
问答
  • android搜索框功能实现

    万次阅读 多人点赞 2016-05-21 23:33:24
    这里实现的是搜索框时时查询,代码中是在数据库中使用的模糊查询; 整个布局使用的是线性布局,搜索框又是一个线性布局(里面包含一个相对布局和一个TextView,相对布局里面有一个EditText和ImageVIew),下面是一个...

    这里实现的是搜索框时时查询,代码中是在数据库中使用的模糊查询;

    整个布局使用的是线性布局,搜索框又是一个线性布局(里面包含一个相对布局和一个TextView,相对布局里面有一个EditText和ImageVIew),下面是一个ListView;

    搜索框其实就是一个EditText,背景是用shape自己画出来的;上面放一个“删除”的图片;

     

    在Activity中给EditText设置一个监听,当输入文字的时候获取输入的内容然后查询数据库,将查询到的数据展示到ListView中;

     

    线来看下布局:

     

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical">
    
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="43dp"
            android:background="@color/colorPrimaryDark"
            android:gravity="center"
            android:orientation="horizontal">
    
            <RelativeLayout
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:layout_weight="1">
    
                <EditText
                    android:id="@+id/edittext"
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:layout_marginBottom="8dp"
                    android:layout_marginLeft="10dp"
                    android:layout_marginTop="8dp"
                    android:background="@drawable/searchbox_bj"
                    android:hint="请输入搜索内容"
                    android:maxLength="10"
                    android:paddingLeft="15dp"
                    android:singleLine="true"
                    android:textSize="12sp" />
    
                <ImageView
                    android:id="@+id/imageview"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_alignParentRight="true"
                    android:layout_centerInParent="true"
                    android:paddingRight="20dp"
                    android:src="@drawable/delete"
                    android:visibility="gone" />
    
            </RelativeLayout>
    
            <TextView
                android:id="@+id/textview"
                android:layout_width="wrap_content"
                android:layout_height="match_parent"
                android:gravity="center"
                android:paddingLeft="10dp"
                android:paddingRight="10dp"
                android:text="搜索"
                android:textColor="#ffffff"
                android:textSize="20sp" />
        </LinearLayout>
    
        <ListView
            android:id="@+id/listview"
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:layout_weight="1"></ListView>
    </LinearLayout>


    CharSequence s, int start, int before, int count(CharSequence s, int start, int before, int count)方法中做判断,s是EditText中的文本内容;

     

     

     

    判断如果s长度为0隐藏“删除”图片,否则显示“删除图片”,显示ListView,查询数据库获得Cursor获得CursorAdapter将内容展示到ListView中;

     

    public class MainActivity extends Activity {
    
        private EditText mEditText;
        private ImageView mImageView;
        private ListView mListView;
        private TextView mTextView;
        Context context;
        Cursor cursor;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            context = this;
            
            initView();
        }
    
        private void initView() {
            mTextView = (TextView) findViewById(R.id.textview);
            mEditText = (EditText) findViewById(R.id.edittext);
            mImageView = (ImageView) findViewById(R.id.imageview);
            mListView = (ListView) findViewById(R.id.listview);
    
            //设置删除图片的点击事件
            mImageView.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    //把EditText内容设置为空
                    mEditText.setText("");
                    //把ListView隐藏
                    mListView.setVisibility(View.GONE);
                }
            });
    
            //EditText添加监听
            mEditText.addTextChangedListener(new TextWatcher() {
                
                public void beforeTextChanged(CharSequence s, int start, int count, int after) {}//文本改变之前执行
    
                @Override
                //文本改变的时候执行
                public void onTextChanged(CharSequence s, int start, int before, int count) {
                    //如果长度为0
                    if (s.length() == 0) {
                        //隐藏“删除”图片
                        mImageView.setVisibility(View.GONE);
                    } else {//长度不为0
                        //显示“删除图片”
                        mImageView.setVisibility(View.VISIBLE);
                        //显示ListView
                        showListView();
                    }
                }
    
                public void afterTextChanged(Editable s) { }//文本改变之后执行
            });
    
            mTextView.setOnClickListener(new View.OnClickListener() {
                
                public void onClick(View v) {
                    //如果输入框内容为空,提示请输入搜索内容
                    if(TextUtils.isEmpty(mEditText.getText().toString().trim())){
                        ToastUtils.showToast(context,"请输入您要搜索的内容");
                    }else {
                        //判断cursor是否为空
                        if (cursor != null) {
                            int columnCount = cursor.getCount();
                            if (columnCount == 0) {
                                ToastUtils.showToast(context, "对不起,没有你要搜索的内容");
                            }
                        }
                    }
    
                }
            });
        }
    
        private void showListView() {
            mListView.setVisibility(View.VISIBLE);
            //获得输入的内容
            String str = mEditText.getText().toString().trim();
            //获取数据库对象
            MyOpenHelper myOpenHelper = new MyOpenHelper(getApplicationContext());
            SQLiteDatabase db = myOpenHelper.getReadableDatabase();
            //得到cursor
            cursor = db.rawQuery("select * from lol where name like '%" + str + "%'", null);
            MyListViewCursorAdapter adapter = new MyListViewCursorAdapter(context, cursor);
    
            mListView.setAdapter(adapter);
    
            mListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
                @Override
                public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                    //把cursor移动到指定行
                    cursor.moveToPosition(position);
                    String name = cursor.getString(cursor.getColumnIndex("name"));
                    ToastUtils.showToast(context, name);
                }
            });
        }
    }


    源码下载地址

     

     

     

     

     

      

     

     

     

     

    展开全文
  • Android调用系统的浮动搜索框实现搜索功能,压缩包中含有两个实例,和一个文档。里面包含详细的操作步骤
  • android搜索框

    热门讨论 2016-05-22 00:15:40
    android搜索框功能实现(给EditText添加文本更改监听,当文本发生改变时获取输入内容使用模糊查询查询数据库将内容展示到listview中)
  • 主要为大家详细介绍了Android自定义View实现搜索框SearchView功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • 使用menu配合searchview可以实现常见的搜索框,详细介绍使用参考文章,我自己的项目没有采用这种方式,使用EditText配合Button做了一个搜索的bar。实现效果如下: 二、实现 xml文件:(自定义内容和样式被移除), ...

    一、概述

    使用menu配合searchview可以实现常见的搜索框,详细介绍使用参考文章,我自己的项目没有采用这种方式, 使用EditText配合Button做了一个搜索的bar。实现效果如下:

    二、实现

    xml文件:(自定义内容和样式被移除), 

    主要是这两个代码实现系统输入法的搜索按钮 android:singleLine="true",android:imeOptions="actionSearch"

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:orientation="horizontal"
        android:layout_height="60dp"
        android:padding="10dp">
    
            <EditText
                android:id="@+id/search_txt"
                android:layout_width="0dp"
                android:layout_weight="3"
                android:layout_height="match_parent"
                android:textSize="16dp"
                android:singleLine="true"
                android:imeOptions="actionSearch"
                android:layout_marginRight="10dp"
                />
    
            <Button
                android:id="@+id/search_btn"
                android:layout_width="0dp"
                android:layout_weight="1"
                android:layout_height="wrap_content"
                android:textSize="20dp"
                android:textAllCaps="false"
                />
    
    </LinearLayout>

    java文件:

    主要是添加监听setOnEditorActionListener,判断监听执行逻辑就行了,同时按钮也执行相同的逻辑多了一个收起系统键盘操作

    public class SearchFragment extends Fragment implements  AdapterView.OnItemClickListener,
                                 View.OnClickListener, TextView.OnEditorActionListener {
    
        //region UI变量
        private  EditText edit_OrderNumber;
        private  Button btn_Search;
        //endregion
    
        ...
    
    
        /**
         * 初始化UI数据
         */
        private  void initShowUIData()
        {
            //待续使用
            searchAdapter = new HistoryOrderAdapter(searchList, getContext());
            list_search.setAdapter(searchAdapter);
            list_search.setOnItemClickListener(this);
            btn_Search.setOnClickListener(this);
            //设置搜索事件监听
            edit_OrderNumber.setOnEditorActionListener(this);
        }
    
    
        /**
         * 搜索更新数据
         */
        private  void showSearchInfo(String number)
        {
           ...
        }
    
    
    
    
        @Override
        public void onClick(View view) {
            if (view.getId()==R.id.search_btn) {
                closeSoftKeybord(edit_OrderNumber,getContext());
                showSearchInfo(edit_OrderNumber.getText().toString());
            }
        }
    
    
        /**
         * 监听搜索按钮
         */
        @Override
        public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
            if (actionId == EditorInfo.IME_ACTION_SEARCH) {
                showSearchInfo(v.getText().toString());
                return true;
            }
            return false;
        }
    
           /**
         *收起系统键盘的操作
         */
        public void closeSoftKeybord(EditText mEditText, Context mContext) {
            InputMethodManager imm = (InputMethodManager) mContext.getSystemService(Context.INPUT_METHOD_SERVICE);
            imm.hideSoftInputFromWindow(mEditText.getWindowToken(), 0);
        }
    
    
    }
    

    三、扩展

    针对类似通讯录那种时时输入进行查找的实现,也是实现监听和上述监听有所不同,addTextChangedListener监听edittext的文本内容变化进行相关逻辑处理。

    edit_OrderNumber.addTextChangedListener(new TextWatcher() {
            @Override
            public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
    
            }
    
            @Override
            public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
                Log.d(TAG, "onTextChanged: "+charSequence.toString());
            }
    
            @Override
            public void afterTextChanged(Editable editable) {
    
            }
        });
    

     

    EditView的自定义样式:光标,下划线,选中图标,选中文字颜色 参考文章

    展开全文
  • 现在很多的app中都有搜索的功能。...搜索框及列表界面怎么设计,我在这里就不多说了,因为重点是搜索这个功能实现,布局界面的话,都可以在xml里面自己好好设计就行了。而我上一篇的博客就介绍了...

    现在很多的app中都有搜索的功能。也就是说搜索栏下面有一个列表,列表中放的内容可能是游戏,也有可能是其他的内容。这时候,我们可以在搜索框中输入你想要搜索的内容,这时候,下面的列表就会出现你想要的内容。

    别担心,实现起来不难,下面是关键的步骤:


    搜索框及列表界面怎么设计,我在这里就不多说了,因为重点是搜索这个功能的实现,布局界面的话,都可以在xml里面自己好好设计就行了。而我上一篇的博客就介绍了自定义搜索框的一个样式,大家可以参考。

    • 首先显示界面就是一个搜索框(我用的是EditText控件),搜索框下面有一个列表,列表中我简单的添加了几条数据以供测试用。主活动中的代码如下:
    • public class MainActivity extends Activity {
       
          private EditText et_ss;
          private ListView lsv_ss;
          private List<String> list = new ArrayList<String>();
          boolean isFilter;
          private MyAdapter adapter = null;
       
          @Override
          protected void onCreate(Bundle savedInstanceState) {
              super.onCreate(savedInstanceState);
              setContentView(R.layout.activity_main);
              setViews();// 控件初始化
              setData();// 给listView设置adapter
              setListeners();// 设置监听
          }
       
          /**
           * 数据初始化并设置adapter
           */
          private void setData() {
              initData();// 初始化数据
       
              // 这里创建adapter的时候,构造方法参数传了一个接口对象,这很关键,回调接口中的方法来实现对过滤后的数据的获取
              adapter = new MyAdapter(list, this, new FilterListener() {
                  // 回调方法获取过滤后的数据
                  public void getFilterData(List<String> list) {
                      // 这里可以拿到过滤后数据,所以在这里可以对搜索后的数据进行操作
                      Log.e("TAG", "接口回调成功");
                      Log.e("TAG", list.toString());
                      setItemClick(list);
                  }
              });
              lsv_ss.setAdapter(adapter);
          }
       
          /**
           * 给listView添加item的单击事件
           * @param filter_lists  过滤后的数据集
           */
          protected void setItemClick(final List<String> filter_lists) {
              lsv_ss.setOnItemClickListener(new OnItemClickListener() {
                  public void onItemClick(AdapterView<?> parent, View view,
                          int position, long id) {
                      // 点击对应的item时,弹出toast提示所点击的内容
                      Toast.makeText(MainActivity.this, filter_lists.get(position), Toast.LENGTH_SHORT).show();
                  }
              });
          }
       
          /**
           * 简单的list集合添加一些测试数据
           */
          private void initData() {
              list.add("看着飞舞的尘埃   掉下来");
              list.add("没人发现它存在");
              list.add("多自由自在");
              list.add("可世界都爱热热闹闹");
              list.add("容不下   我百无聊赖");
              list.add("不应该   一个人 发呆");
              list.add("只有我   守着安静的沙漠");
              list.add("等待着花开");
              list.add("只有我   看着别人的快乐");
          }
       
          private void setListeners() {
              // 没有进行搜索的时候,也要添加对listView的item单击监听
              setItemClick(list);
       
              /**
               * 对编辑框添加文本改变监听,搜索的具体功能在这里实现
               * 很简单,文本该变的时候进行搜索。关键方法是重写的onTextChanged()方法。
               */
              et_ss.addTextChangedListener(new TextWatcher() {
       
                  /**
                   * 
                   * 编辑框内容改变的时候会执行该方法
                   */
                  @Override
                  public void onTextChanged(CharSequence s, int start, int before,
                          int count) {
                      // 如果adapter不为空的话就根据编辑框中的内容来过滤数据
                      if(adapter != null){
                          adapter.getFilter().filter(s);
                      }
                  }
       
                  @Override
                  public void beforeTextChanged(CharSequence s, int start, int count,
                          int after) {
                      // TODO Auto-generated method stub
                  }
       
                  @Override
                  public void afterTextChanged(Editable s) {
                      // TODO Auto-generated method stub
                  }
              });
          }
       
          /**
           * 控件初始化
           */
          private void setViews() {
              et_ss = (EditText) findViewById(R.id.et_ss);// EditText控件
              lsv_ss = (ListView)findViewById(R.id.lsv_ss);// ListView控件
          }
       
      }
      

      上面的代码,主要就是界面上有一个搜索框,搜索框下面有一个列表。当在搜索框中输入内容的时候,此时下面的列表显示的内容会自动匹配你输入在搜索框中的内容。

    如下图所示: 
    这里写图片描述

    这里写图片描述


    • 接下来就是adapter这个类了,这个类我实现了Filterable接口,然后重写了getFilter()方法,在adapter中定义了一个内部类MyFilter继承Filter类,并重写相关方法,实现数据的过滤。代码如下所示
    public class MyAdapter extends BaseAdapter implements Filterable {
     
        private List<String> list = new ArrayList<String>();
        private Context context;
        private MyFilter filter = null;// 创建MyFilter对象
        private FilterListener listener = null;// 接口对象
     
        public MyAdapter(List<String> list, Context context, FilterListener filterListener) {
            this.list = list;
            this.context = context;
            this.listener = filterListener;
        }
     
        @Override
        public int getCount() {
            // TODO Auto-generated method stub
            return list.size();
        }
     
        @Override
        public Object getItem(int position) {
            // TODO Auto-generated method stub
            return list.get(position);
        }
     
        @Override
        public long getItemId(int position) {
            // TODO Auto-generated method stub
            return position;
        }
     
        @Override
        public View getView(int position, View convertView, ViewGroup parent) {
            ViewHolder holder = null;
            if (convertView == null) {
                convertView = LayoutInflater.from(context).inflate(R.layout.item_listview_ss, null);
                holder = new ViewHolder();
                holder.tv_ss = (TextView) convertView.findViewById(R.id.tv_ss);
                convertView.setTag(holder);
            }
            holder = (ViewHolder) convertView.getTag();
            holder.tv_ss.setText(list.get(position));
            return convertView;
        }
     
        /**
         * 自定义MyAdapter类实现了Filterable接口,重写了该方法
         */
        @Override
        public Filter getFilter() {
            // 如果MyFilter对象为空,那么重写创建一个
            if (filter == null) {
                filter = new MyFilter(list);
            }
            return filter;
        }
     
        /**
         * 创建内部类MyFilter继承Filter类,并重写相关方法,实现数据的过滤
         * @author 邹奇
         *
         */
        class MyFilter extends Filter {
     
            // 创建集合保存原始数据
            private List<String> original = new ArrayList<String>();
     
            public MyFilter(List<String> list) {
                this.original = list;
            }
     
            /**
             * 该方法返回搜索过滤后的数据
             */
            @Override
            protected FilterResults performFiltering(CharSequence constraint) {
                // 创建FilterResults对象
                FilterResults results = new FilterResults();
     
                /**
                 * 没有搜索内容的话就还是给results赋值原始数据的值和大小
                 * 执行了搜索的话,根据搜索的规则过滤即可,最后把过滤后的数据的值和大小赋值给results
                 * 
                 */
                if(TextUtils.isEmpty(constraint)){
                    results.values = original;
                    results.count = original.size();
                }else {
                    // 创建集合保存过滤后的数据
                    List<String> mList = new ArrayList<String>();
                    // 遍历原始数据集合,根据搜索的规则过滤数据
                    for(String s: original){
                        // 这里就是过滤规则的具体实现【规则有很多,大家可以自己决定怎么实现】
                        if(s.trim().toLowerCase().contains(constraint.toString().trim().toLowerCase())){
                            // 规则匹配的话就往集合中添加该数据
                            mList.add(s);
                        }
                    }
                    results.values = mList;
                    results.count = mList.size();
                }
     
                // 返回FilterResults对象
                return results;
            }
     
            /**
             * 该方法用来刷新用户界面,根据过滤后的数据重新展示列表
             */
            @Override
            protected void publishResults(CharSequence constraint,
                    FilterResults results) {
                // 获取过滤后的数据
                list = (List<String>) results.values;
                // 如果接口对象不为空,那么调用接口中的方法获取过滤后的数据,具体的实现在new这个接口的时候重写的方法里执行
                if(listener != null){
                    listener.getFilterData(list);
                }
                // 刷新数据源显示
                notifyDataSetChanged();
            }
     
        }
     
        /**
         * 控件缓存类
         * 
         * @author 邹奇
         *
         */
        class ViewHolder {
            TextView tv_ss;
        }
     
    }
    

    细心的同学可能会发现,我在内部类MyFilter里面重写的  protected void publishResults(CharSequence constraint,FilterResults results){}方法里用到了接口里的抽象方法获取过滤后的数据。如下图所示: 
    这里写图片描述

    这里用到了接口的回调,目的是为了获取过滤后的数据。为什么要写这个方法呢?是因为我刚开始搜索完成后,点击搜索后的数据,但是显示的是原来的数据,那么就是数据源没有变、而这个回调,就是为了解决这个问题的,拿到过滤后的数据源,对新的数据源进行操作即可很好的解决这个问题。

    点我下载测试版apk


    • 最后接口类代码如下,很简单:
    public interface FilterListener {
        void getFilterData(List<String> list);// 获取过滤后的数据
    }
    

    接口中定义了一个抽象方法,用来获取数据用的。


    • 最后,大家通过这篇博客应该能加深对接口回调的理解和应用。希望大家以后遇到问题可以先自己想想解决的办法,然后再结合自己的想法尝试尝试,相信很多问题自己都可以很好的解决。比如上面的:搜索后的数据没有变,点击后还是显示原来的数据。这个问题的解决方法就是一个简单的接口回调解决了。

    转载自:https://blog.csdn.net/qq_35224776/article/details/80650341

     

    展开全文
  • 实现自定义搜索框(实际上就是一个EditText): android:id="@+id/music_search_rl" android:layout_width="match_parent" android:layout_height="30dp" android:layout_margin="5d

    实现自定义搜索框(实际上就是一个EditText):

    <RelativeLayout
            android:id="@+id/music_search_rl"
            android:layout_width="match_parent"
            android:layout_height="30dp"
            android:layout_margin="5dp"
            android:background="@drawable/acm_inputbox"
            android:focusableInTouchMode="true" >
    
            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_centerInParent="true"
                android:drawableLeft="@drawable/icon_search"
                android:includeFontPadding="false"
                android:text="@string/search"
                android:textColor="#DFDFDF" />
    
            <EditText
                android:id="@+id/music_search_et"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:background="@android:color/transparent"
                android:hint="@null"
                android:singleLine="true" />
        </RelativeLayout>
    
        <ListView
            android:id="@+id/search_lv"
            android:layout_width="match_parent"
            android:layout_height="wrap_content" />

    acm_inputbox图片:

    icon_search图片:

    在相应的Activity类Java代码中,加入如下的功能代码:

    //list.setTextFilterEnabled(true);
    		
    		search_et = (EditText)findViewById(R.id.music_search_et);
    		search_et.addTextChangedListener(new TextWatcher() {
    			@Override
    			public void onTextChanged(CharSequence s, int start, int before, int count) {
    				// TODO Auto-generated method stub
    				String aa = s.toString();
    				Pattern p = Pattern.compile(aa);
    				
    				
    				//创建一个List集合,List集合的元素是Map
    				List<Map<String, Object>> listItems = new ArrayList<Map<String, Object>>();
    				for(int i = 0; i < pmiList.size(); i++) {
    					PhoneMusicInfo pmi = pmiList.get(i);
    					String pmiTitle = pmi.getTitle();
    					Matcher matcher = p.matcher(pmiTitle);
    					
    					if(matcher.find()) {
    						Map<String, Object> listItem = new HashMap<String, Object>();
    						listItem.put("musicTitle", pmi.getTitle());
    						listItems.add(listItem);						
    					}
    				}
    				
    				//创建一个SimpleAdapter,设置新的Adapter,替换原来的Adapter
    				SimpleAdapter simpleAdapter = new SimpleAdapter(SelectMusic.this, listItems, R.layout.music_item,
    						new String[] {"musicTitle"}, new int[] {R.id.music_item_tv});
    				
    				list.setAdapter(simpleAdapter);
    				
    				/*if(TextUtils.isEmpty(s))
    					list.clearTextFilter();
    				else
    					list.setFilterText(s.toString());*/
    			}
    			
    			@Override
    			public void beforeTextChanged(CharSequence s, int start, int count,
    					int after) {
    				// TODO Auto-generated method stub
    				
    			}
    			
    			@Override
    			public void afterTextChanged(Editable s) {
    				// TODO Auto-generated method stub
    				
    			}
    		});

    展开全文
  • Android 用EditText实现搜索框功能

    千次阅读 2016-09-11 16:10:18
    效果图 工程目录结构 1.MainActivity.java ...import android.app.Activity; import android.os.Bundle; import android.widget.ArrayAdapter; import android.widget.ListView; import java.util.ArrayLi
  • Android搜索实时显示功能实现

    千次阅读 2017-08-12 12:29:42
    前言作为一名Android开发小白,应该时刻督促自己不断的学习技术,最近遇到了一个和搜索有关的问题,就学习找时间学习了一下,如何实现简单Android搜索功能并可以实时预览搜索结果,整体思路应该和平常我们见到的...
  • android 蓝牙搜索功能实现

    千次阅读 2016-06-26 19:55:13
    MainActivity.java package com.example.bluefind; import android.media.AudioManager; import android.os.Bundle; import android.app.Activity; import android.bluetooth.BluetoothAdapter; import android.b
  • Android开发中搜索功能实现

    万次阅读 多人点赞 2016-12-14 17:45:00
    别担心,实现起来不难,下面是关键的步骤:搜索框及列表界面怎么设计,我在这里就不多说了,因为重点是搜索这个功能实现,布局界面的话,都可以在xml里面自己好好设计就行了。而我上一篇的博客就介绍了自定义搜索
  • android搜索框实现

    万次阅读 2011-07-27 16:51:03
    在Map应用中会经常见到一个浮动的搜索框 一般可以搜索附近的POI点信息 而且这些功能基本都长得差不多 所以网上查了下原来在SDK 文档里就有 在Dev Guide中有详细的介绍 不过都是英文的 看了好久呢 功能是比较简单的 ...
  • 主要为大家详细介绍了Android搜索框SearchView的功能和用法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • android 搜索功能 SearchView+RecyclerView实现 搜索结果高亮显示,android studio工程,导入就可以正常使用
  • 最近公司项目中一直在搞地图开发,今天产品经理就给我布置了一些(无法想象)任务,其中一个就是实现地点搜索输入框的自动输入提示功能。拿到任务肯定想讨价还价一番,但是想到以前也写过,就不再负隅顽抗了。   以前在...
  • 本文讲的是Android Material 搜索框实现详细说明, 关于我的应用,我收到了一些用户的反馈,他们反馈最多的是缺少搜索功能。对于像 Memento Calendar 这种囊括了诸如社交时间,纪念日,银行休假日,信息来源...
  • 主要为大家详细介绍了Android实现简单实用的搜索框,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • Android ListView用EditText实现搜索功能

    千次阅读 2016-04-26 17:14:20
    Android ListView用EditText实现搜索功能前言最近在开发一个IM项目的时候有一个需求就是,好友搜索功能。即在EditText中输入好友名字,ListView列表中动态展示刷选的好友列表。我把这个功能抽取出来了,先贴一下效果...
  • 本文主要介绍Android实现清空搜索框的文字的方法。项目中的有关搜索的地方,加上清空文字的功能,目的是为了增加用户体验,使用户删除文本更加快捷。需要的朋友一起来看下吧
  • Android搜索功能实现

    千次阅读 2015-10-28 21:17:22
    1.热门商品搜索栏中的数据从网络接口获取 2.搜索历史商品中的数据从SQLite数据库中获取 3.当点击热门商品搜索的时候,该数据会立刻出现在搜索历史商品中,不会重复增加已经出现过的商品,历史中的商品按照最新时间...
  • 主要介绍了android 高德地图之poi搜索功能实现代码,在实现功能时遇到很多问题,在文章都给大家提到,需要的朋友可以参考下
  • 主要介绍了android顶部(toolbar)搜索框实现代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
  • 在ToolBar上可以很方便的用widget.SearchView实现搜索功能。 一般情况下,SearchView通常有两种实现方案: 在当前Activity处理搜索逻辑 首先在menu中新增item<item android:id="@+id/toolbar_search" ...
  • 本文主要为大家分享了Android实现搜索功能,并且可以实时显示搜索的历史记录,根据输入的内容去模糊查询,供大家参考,界面图如下。 本案例实现起来也非常的简单,所以可以直接拿来嵌入项目中使用,主要涉及到...
  • Android弹幕功能实现,模仿斗鱼直播的弹幕效果

    万次阅读 多人点赞 2016-10-18 08:01:32
    记得之前有位朋友在我的公众号里问过我,像直播的那种弹幕功能该如何实现?如今直播行业确实是非常火爆啊,大大小小的公司都要涉足一下直播的领域,用斗鱼的话来讲,现在就是千播之战。而弹幕则无疑是直播功能当中...
  • android 仿微信demo————登录功能实现(移动端) android 仿微信demo————登录功能实现(服务端) android 仿微信demo————微信主界面功能实现 android 仿微信demo————微信消息界面功能实现(移动端) ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 45,755
精华内容 18,302
关键字:

android搜索框功能实现