• Android SearchView 自定义SearchIcon和字体颜色大小


    自定义SearchView的搜索图标和字体属性相对复杂一些,记下来。

    一、自定义SearchIcon

    1、API版本低于21:版本小于21时,要修改SearchIcon比较复杂,需要先获取到SearchView的ImageView,然后为ImageView设置图片,具体代码如下:

    (1)初始化SearchView控件

    mSearch = (SearchView) view.findViewById(R.id.search);

    (2)设置自定义的搜索图标

    if(mSearch==null){
        return;
    }else{
    //获取ImageView的id
    int imgId = mSearch.getContext().getResources().getIdentifier("android:id/search_mag_icon",null,null); 
    //获取ImageView
    ImageView searchButton = (ImageView)mSearch.findViewById(imgId);
    //设置图片
    searchButton.setImageResource(R.drawable.search);
    //不使用默认
    mSearch.setIconifiedByDefault(false);
    }
    2、API版本大于21时,就很方便了,直接在layout文件中为SearchView设置属性searchIcon即可啦。
    android:searchIcon="@drawable/search"
    二、自定义字体颜色和大小,也可以修改SearchView中的提示文字的颜色

    1、初始化SearchView控件,同上。

    2、获取到SearchView的TextView,然后就可以修改其属性了,代码如下。

    if(mSearch==null){
        return;
    }
    else{
    //获取到TextView的ID
    int id = mSearch.getContext().getResources().getIdentifier("android:id/search_src_text",null,null);
    //获取到TextView的控件
    TextView textView = (TextView) mSearch.findViewById(id);
    //设置字体大小为14sp
    textView.setTextSize(TypedValue.COMPLEX_UNIT_SP, 14);//14sp
    //设置字体颜色
    textView.setTextColor(getActivity().getResources().getColor(R.color.search_txt_color)); 
    //设置提示文字颜色
    textView.setHintTextColor(getActivity().getResources().getColor(R.color.search_hint_color));
    }
    三、最终效果图:

    
    

     

     

  • 相关阅读:
    Java:synchronized关键字引出的多种锁
    Java:Web Service初入门
    Java:HashMap原理与设计缘由
    Java:集合类的数据结构
    NoSQL数据库兴起
    Hadoop介绍与安装
    Java:泛型的理解
    《代码整洁之道》总结和笔记
    shell运算
    shell变量
  • 原文地址:https://www.cnblogs.com/LT5505/p/5534357.html
Copyright © 2020-2023  润新知