Android在代码中动态设置文本的图片的显示

2021年10月18日 54点热度 0条评论 来源: 峥嵘life

Android在代码中动态设置文本的图片的显示

有时候需要动态显示或隐藏图片,效果:


可以看到文本右边的图片是动态显示的。
       在代码中如果要修改drawableRight设置的图片可以使用setCompoundDrawables方法设置,传入Drawable对象就可以了。

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

       Drawable对象可以通过 Drawable nav_up=getResources().getDrawable(R.drawable.picture);得到
       但是API提示,setCompoundDrawables() 调用的时候,Drawable对象必须调用setBounds(int left, int top, int right, int bottom)方法,来设置图片显示的大小。于是我们加一行代码就可以了

textView.setBounds(0, 0, drawable.getMinimumWidth(), drawable.getMinimumHeight());

完整代码示例:
//创建drawable对象
Drawable drawable=getResources().getDrawable(R.drawable.picture);
//设置图片的大小
drawable.setBounds(0, 0, drawable.getMinimumWidth(), drawable.getMinimumHeight());
//在文本的右边设置图片
textview.setCompoundDrawables(null, null, drawable, null);

//如果要清除这个文本的图片可以设置:
textview.setCompoundDrawables(null, null, null, null);
//在文本的上下左右设置图片都是可以的。

    原文作者:峥嵘life
    原文地址: https://blog.csdn.net/wenzhi20102321/article/details/65937545
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系管理员进行删除。