全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

Android 改变图标原有颜色和搜索框的实例代码

图标改变颜色:Drawable的变色,让Android也能有iOS那么方便的图片色调转换,就像同一个图标,但是有多个地方使用,并且颜色不一样,就可以用这个方法了。

搜索框: 一般是EditText实现,本文 实现 TextView图片和文字居中,键盘搜索。

来看看效果图:

 图标改变颜色:第一个界面的左边(二维码)和右边(更多)两个实现,我放进去的图片是黑色的,显示出来是白色的。         

搜索框:第一个界面的图片和文字居中,还可以设置间距,第二个见面搜索设置键盘搜索按钮,点击搜索监听事件,清除内容的图标。

搜索框布局:

<!-- 
   搜索图标设置 左边 
   android:drawableLeft="@mipmap/icon_search" 
   android:drawablePadding="5dp" 图标和文字的间距 
   右边 
   android:drawableRight="@mipmap/round_close" 
   android:paddingRight="8dp" 
   android:imeOptions="actionSearch" 设置成搜索按钮 
  --> 
  <EditText 
   android:id="@+id/search_text" 
   android:layout_width="0dp" 
   android:layout_weight="1" 
   android:layout_height="30dp" 
   android:hint="输入要搜索的商品" 
   android:background="@drawable/search_gray" 
   android:layout_marginTop="10dp" 
   android:layout_marginLeft="9dp" 
   android:textSize="12sp" 
   android:drawableLeft="@mipmap/icon_search" 
   android:paddingLeft="9dp" 
   android:drawablePadding="5dp" 
   android:drawableRight="@mipmap/round_close" 
   android:paddingRight="8dp" 
   android:imeOptions="actionSearch" 
   android:maxLines="1" 
   android:singleLine="true" 
   /> 

键盘监听:

searchText.setOnEditorActionListener(new TextView.OnEditorActionListener() { 
   @Override 
   public boolean onEditorAction(TextView v, int actionId, KeyEvent event) { 
    if ((actionId == 0 || actionId == 3) && event != null) { 
             //提示搜索内容 
     Toast.makeText(SearchActivity.this,searchText.getText().toString(),Toast.LENGTH_LONG).show(); 
     //可以跳转搜索页面 
     /* Intent intent= new Intent(SearchActivity.this,SearchWebViewActivity.class); 
     intent.putExtra("model",model); 
     intent.putExtra("search",searchText.getText().toString()); 
     startActivity(intent); 
     finish();*/ 
    } 
    return false; 
   } 
  }); 

首页布局:

<LinearLayout 
  android:layout_width="match_parent" 
  android:layout_height="wrap_content" 
  android:background="@color/colorPrimary" 
  android:minHeight="45dp" 
  android:orientation="horizontal" 
  android:gravity="center_vertical" 
  > 
  <ImageButton 
   android:id="@+id/home_left_scan" 
   android:layout_width="wrap_content" 
   android:layout_height="wrap_content" 
   android:paddingRight="19dp" 
   android:paddingTop="3dp" 
   android:paddingBottom="3dp" 
   android:paddingLeft="11dp" 
   android:layout_centerVertical="true" 
   android:background="#00000000" 
   /> 
  <com.zhangqie.searchbox.view.DrawableTextView 
   android:id="@+id/home_search" 
   android:layout_width="match_parent" 
   android:layout_height="28dp" 
   android:layout_weight="1" 
   android:background="@drawable/search_view_background" 
   android:gravity="center_vertical" 
   android:maxLines="1" 
   android:text="输入搜索相关内容" 
   android:drawableLeft="@mipmap/icon_search" 
   android:textSize="12sp" 
   android:drawablePadding="11dp" 
   /> 
  <ImageButton 
   android:id="@+id/home_right_more" 
   android:layout_width="wrap_content" 
   android:layout_height="wrap_content" 
   android:layout_centerVertical="true" 
   android:layout_alignParentRight="true" 
   android:paddingRight="15dp" 
   android:paddingTop="3dp" 
   android:paddingBottom="3dp" 
   android:paddingLeft="15dp" 
   android:background="#00000000" 
   /> 
 </LinearLayout> 

自定义DrawableTextView:(文字图标居中)

public class DrawableTextView extends TextView { 
 public DrawableTextView(Context context, AttributeSet attrs, 
       int defStyle) { 
  super(context, attrs, defStyle); 
 } 
 public DrawableTextView(Context context, AttributeSet attrs) { 
  super(context, attrs); 
 } 
 public DrawableTextView(Context context) { 
  super(context); 
 } 
 @Override 
 protected void onDraw(Canvas canvas) { 
  Drawable[] drawables = getCompoundDrawables(); 
  // 得到drawableLeft设置的drawable对象 
  Drawable leftDrawable = drawables[0]; 
  if (leftDrawable != null) { 
   // 得到leftDrawable的宽度 
   int leftDrawableWidth = leftDrawable.getIntrinsicWidth(); 
   // 得到drawable与text之间的间距 
   int drawablePadding = getCompoundDrawablePadding(); 
   // 得到文本的宽度 
   int textWidth = (int) getPaint().measureText(getText().toString().trim()); 
   int bodyWidth = leftDrawableWidth + drawablePadding + textWidth; 
   canvas.save(); 
   canvas.translate((getWidth() - bodyWidth) / 2, 0); 
  } 
  super.onDraw(canvas); 
 } 
} 

有需要的朋友点击下载源码哦!

https://github.com/DickyQie/android-basic-control/tree/search-box

总结

以上所述是小编给大家介绍的Android 改变图标原有颜色和搜索框的实例代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!


# android  # 图标颜色  # 搜索框  # Android如何动态改变App桌面图标  # Android实现动态改变app图标的示例代码  # Android实现修改状态栏背景、字体和图标颜色的方法  # Android 修改app图标和名称的方法  # Android App更改应用的图标的实现方法  # android开发修改状态栏背景色和图标颜色的示例  # Android改变ExpandableListView的indicator图标实现方法  # Android动态修改应用图标与名称的方法实例  # 第一个  # 小编  # 就像  # 相关内容  # 还可以  # 多个  # 在此  # 可以用  # 第二个  # 给大家  # 能有  # 来看看  # 自定义  # 点击下载  # 跳转  # 首页  # 所述  # 给我留言  # 感谢大家  # 设置成 


相关文章: 外贸公司网站制作,外贸网站建设一般有哪些步骤?  如何快速选择适合个人网站的云服务器配置?  如何快速生成高效建站系统源代码?  常州自助建站:操作简便模板丰富,企业个人快速搭建网站  网站规划与制作是什么,电子商务网站系统规划的内容及步骤是什么?  浅析上传头像示例及其注意事项  如何在云服务器上快速搭建个人网站?  ,购物网站怎么盈利呢?  JS中使用new Date(str)创建时间对象不兼容firefox和ie的解决方法(两种)  广州网站制作公司哪家好一点,广州欧莱雅百库网络科技有限公司官网?  制作网站的软件免费下载,免费制作app哪个平台好?  如何在VPS电脑上快速搭建网站?  如何零成本快速生成个人自助网站?  如何快速上传自定义模板至建站之星?  jQuery 常见小例汇总  中山网站推广排名,中山信息港登录入口?  教育培训网站制作流程,请问edu教育网站的域名怎么申请?  厦门模型网站设计制作公司,厦门航空飞机模型掉色怎么办?  香港服务器网站卡顿?如何解决网络延迟与负载问题?  如何在局域网内绑定自建网站域名?  如何有效防御Web建站篡改攻击?  如何配置FTP站点权限与安全设置?  如何通过FTP空间快速搭建安全高效网站?  网站制作公司排行榜,抖音怎样做个人官方网站  制作网站公司那家好,网络公司是做什么的?  如何快速查询网址的建站时间与历史轨迹?  如何通过云梦建站系统实现SEO快速优化?  网站制作的方法有哪些,如何将自己制作的网站发布到网上?  阿里云网站搭建费用解析:服务器价格与建站成本优化指南  桂林网站制作公司有哪些,桂林马拉松怎么报名?  制作假网页,招聘网的薪资待遇,会有靠谱的吗?一面试又各种折扣?  如何基于PHP生成高效IDC网络公司建站源码?  广州美橙建站如何快速搭建多端合一网站?  怎么用手机制作网站链接,dw怎么把手机适应页面变成网页?  php8.4新语法match怎么用_php8.4match表达式替代switch【方法】  邀请函制作网站有哪些,有没有做年会邀请函的网站啊?在线制作,模板很多的那种?  如何在Windows虚拟主机上快速搭建网站?  网站按钮制作软件,如何实现网页中按钮的自动点击?  建站主机无法访问?如何排查域名与服务器问题  建站上市公司网站建设方案与SEO优化服务定制指南  如何通过IIS搭建网站并配置访问权限?  专业企业网站设计制作公司,如何理解商贸企业的统一配送和分销网络建设?  建站之星展会模版如何一键下载生成?  公众号网站制作网页,微信公众号怎么制作?  建站之星导航菜单设置与功能模块配置全攻略  免费公司网站制作软件,如何申请免费主页空间做自己的网站?  网站广告牌制作方法,街上的广告牌,横幅,用PS还是其他软件做的?  建站之星收费标准详解:套餐费用及年费价格表一览  网站建设制作需要多少钱费用,自己做一个网站要多少钱,模板一般多少钱?  大学网站设计制作软件有哪些,如何将网站制作成自己app? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。