textview可以在上下左右四个方向添加图片,同时也可以动态改变这些图片;

 
下面有我写的一个例子:

在xml文件中:
 <TextView
                android:id="@+id/day_night_mode_tv"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center"
                android:background="@drawable/btn_sidebar_item"
                android:clickable="true"
                android:drawableTop="@drawable/ic_day_night_mode_auto"
                android:gravity="center"
                android:paddingBottom="5dp"
                android:paddingTop="5dp"
                android:text="自动"
                android:textColor="@color/day_night_mode_text_color" />
 
在代码中动态改变图片:
    在代码中如果要修改drawableRight设置的图片可以使用

      setCompoundDrawables(Drawable left,Drawable top,Drawable right,Drawable bottom)

Drawable可以通过 Drawable drawable =getResources().getDrawable(R.drawable.button_nav_up);得到

但是API提示,setCompoundDrawables() 调用的时候,Drawable对象必须调用setBounds(int left, int top, int right, int bottom)方法

具体如下:

if (mDaynightModeInt % 3 == 0) {

// 自动

mDaynightModeTv.setText("自动");

Drawable drawable = getResources().getDrawable(

R.drawable.ic_day_night_mode_auto);

drawable.setBounds(0, 0, drawable.getMinimumWidth(),

drawable.getMinimumHeight());

mDaynightModeTv

.setCompoundDrawables(null, drawable, null, null);

} else if (mDaynightModeInt % 3 == 1) {

// 日间模式

mDaynightModeTv.setText("日间模式");

Drawable drawable = getResources().getDrawable(

R.drawable.ic_day_night_mode_day);

drawable.setBounds(0, 0, drawable.getMinimumWidth(),

drawable.getMinimumHeight());

mDaynightModeTv

.setCompoundDrawables(null, drawable, null, null);

} else {

// 夜间模式

mDaynightModeTv.setText("夜间模式");

Drawable drawable = getResources().getDrawable(

R.drawable.ic_day_night_mode_night);

drawable.setBounds(0, 0, drawable.getMinimumWidth(),

drawable.getMinimumHeight());

mDaynightModeTv

.setCompoundDrawables(null, drawable, null, null);

}

textview设置drawable的更多相关文章

  1. 对TextView设置drawable,用setCompoundDrawables方法实现

    在上一项目上需要对TextView在xml文件中设置的drawableLeft的图片进行更改,查询了资料好久也没有找到解决办法,如下代码所示: commentTV.setCompoundDrawabl ...

  2. 使用java代码,动态给TextView设置drawable

    Drawable country = context.getResources().getDrawable(drawableId); country.setBounds(0, 0, country.g ...

  3. 使用代码为textview设置drawableLeft

    xml中的textView中设置android:drawableLeft: <TextView android:id="@+id/bookTitle" android:lay ...

  4. TextView 设置图片

    TextView 设置图片 2012-05-17 15:12:38|  分类: Android |  标签:android  textview图片  |举报|字号 订阅     Drawable im ...

  5. 【转】深入理解TextView实现Rich Text--在同一个TextView设置不同字体风格

    深入理解TextView实现Rich Text--在同一个TextView设置不同字体风格 作者: 字体:[增加 减小] 类型:转载   本篇文章是对Android中在同一个TextView中设置不同 ...

  6. 使用装饰器模式动态设置Drawable的ColorFilter

    使用装饰器模式动态设置Drawable的ColorFilter 欢迎各位关注我的新浪微博:微博 转载请标明出处(kifile的博客) 非常多时候我们都希望Android控件点击的时候,有按下效果,选中 ...

  7. TextView设置最多显示指定个字符,超过部分显示...(省略号)

    今天在公司遇到一个需求:TextView设置最多显示8个字符,超过部分显示...(省略号),网上找了很多资料,有人说分别设置TextView的android:signature="true& ...

  8. (转)TextView 设置背景和文本颜色的问题

    在做一个项目,突然遇到如下问题 比如:在color.xml中定义了几个颜色 <color name="white">#FFFFFF</color> < ...

  9. TextView设置成仅仅读

    TextView设置成仅仅读 方法一:代理 - (BOOL)textViewShouldBeginEditing:(UITextView *)textView { return NO; } 方法二:设 ...

随机推荐

  1. 用十条命令在一分钟内检查Linux服务器性能

    转自:http://www.infoq.com/cn/news/2015/12/linux-performance 如果你的Linux服务器突然负载暴增,告警短信快发爆你的手机,如何在最短时间内找出L ...

  2. 如何利用sendmail发送外部邮件?

    在写监控脚本时,为了更好的监控服务器性能,如磁盘空间.系统负载等,有必要在系统出现瓶颈时,及时向管理员进行报告.在这里通常采用邮件报警,同时,邮件设置为收到邮件,即向指定手机号码发送短信.这样可以实现 ...

  3. wordpress上传图片时重命名--修改插件时遇到的一些问题

    wordpress是用php语言开发的博客平台,它扩展性强,容易扩展,很适合拿来做二次开发. 1,问题由来 本周五,我在浏览公司的网站(基于wordpress开发)时发现,网站首页上有两篇文章的缩略图 ...

  4. 【集合框架】JDK1.8源码分析HashSet && LinkedHashSet(八)

    一.前言 分析完了List的两个主要类之后,我们来分析Set接口下的类,HashSet和LinkedHashSet,其实,在分析完HashMap与LinkedHashMap之后,再来分析HashSet ...

  5. what's this? 浅谈js中this的指向问题

    刚刚学习js的朋友可能和我一样,看到代码中的this总是一脸懵逼,不知道this到底指向谁.经过一段时间的了解,我想跟大家分享下自己的理解. 何时出现this 函数在调用的时候,会自动获得两个特殊变量 ...

  6. 7.2 数据注解属性--TimeStamp特性【Code-First 系列】

    TimeStamp特性可以应用到领域类中,只有一个字节数组的属性上面,这个特性,给列设定的是tiemStamp类型.在并发的检查中,Code-First会自动使用这个TimeStamp类型的字段. 下 ...

  7. UML类图简单介绍

    先上一张图: 概述 类图(Class Diagram)是面向对象系统建模中最常用和最重要的图,是定义其它图的基础.类图主要是用来显示系统中的类.接口以及它们之间的静态结构和关系的一种静态模型. 类图组 ...

  8. jquery easyui使用(四)······添加,编辑,删除

    前端: <div style="font-size: 25px; font-weight: 700; margin: 50px 0 10px 10px;"> 车辆登记 ...

  9. 10个调试Java的技巧

    调试不仅可以查找到应用程序缺陷所在,还可以解决缺陷.对于Java程序员来说,他们不仅要学会如何在Eclipse里面开发像样的程序,更需要学会如何调试程序.本文介绍了Java程序员必知的10个调试技巧, ...

  10. 简谈asp.net下的异步加载

    具体我本身大概用的就有两种,需配合JQ. 第一种,直接通过AJAX去请求页面:例如, 1:dataType必须是html或者Text格式, 2:Type:必须是'Post'请求 3:后台Load事件必 ...