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. JavaScript Timer实现动画效果

    <style type="text/css"> div { width: 100px; height: 50px; background: red; margin: 1 ...

  2. UWP开发之Mvvmlight实践一:如何在项目中添加使用Mvvmlight(图文详解)

    最近一直在做UWP开发,为了节省成本等等接触到MVVMlight,觉得有必要发点时间研究它的用法与实现原理才行.如果有问题的地方或者有好的建议欢迎提出来. 随着移动开发的热门,Mvvmlight在An ...

  3. 编写简单的ramdisk(选择IO调度器)

    前言 目前linux中包含anticipatory.cfq.deadline和noop这4个I/O调度器.2.6.18之前的linux默认使用anticipatory,而之后的默认使用cfq.我们在前 ...

  4. Lua 学习笔记(九)协同程序(线程thread)

    协同程序与线程thread差不多,也就是一条执行序列,拥有自己独立的栈.局部变量和命令指针,同时又与其他协同程序共享全局变量和其他大部分东西.从概念上讲线程与协同程序的主要区别在于,一个具有多个线程的 ...

  5. ACM-东北大学程序设计竞赛-网络赛(2016.04.16)

    Problem: A Time limit: 1s    Mem limit: 64 MB    AC/Submission: 0/0    Discuss Back   Ranklist  Stat ...

  6. 关于SSMS显示select出来的数据行的疑问

    调试存储过程时,往往可以用print将存储过程中的变量print出来, 但是print出来的字符串有一定长度限制,刚才专门试了一下,应该是4000个字符 如果超过4000个字符,超长的字符会被自动截断 ...

  7. 我理解的this

    this指的就是当前上下文环境对象,主要分两种情况. 1.函数中的this指的是调用该函数的那个上下文环境对象 这个的理解还是非常重要的. 看一个全局函数的例子 var b = 1; function ...

  8. jquery easyui使用(三)······datagrid加载数据(已解决)

    <div id="table_Data"> </div> $("#table_Data").datagrid({ toolbar: '# ...

  9. html5数字和颜色输入框

    html5功能强大,数字和颜色输入框例子 效果:http://hovertree.com/code/html5/rxujb6g8.htm <!DOCTYPE html> <html& ...

  10. sql语句查询

    1. sql语句查询某位数字或者某几位数字开头的数据,字段类型为数字类: %’: 2. sql搜索以4开头和含有李字的数据: select * from wlzbpre_user where real ...