zoukankan      html  css  js  c++  java
  • 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));
    }
    三、最终效果图:

    
    

     

     

  • 相关阅读:
    【提高测试】飘雪圣域(树状数组)
    【BZOJ2820】YY的GCD(莫比乌斯反演)
    【BZOJ2301】【HAOI2011】—Problem b(莫比乌斯反演)
    【POJ2318】—TOYS(计算几何)
    React-状态提升
    React-表单
    React-条件渲染
    React-列表 & Key
    React-HelloWorld
    MongoDB中的读写锁
  • 原文地址:https://www.cnblogs.com/LT5505/p/5534357.html
Copyright © 2011-2022 走看看