是否可以以编程方式设置drawableLeft可见性

时间:2013-10-16 10:28:09

标签: android textview android-drawable

我正在以编程方式添加/删除drawableLeft:

((TextView)view).setCompoundDrawablesWithIntrinsicBounds(R.drawable.ic_icon, 0, 0, 0); 
((TextView)view).setCompoundDrawablesWithIntrinsicBounds(0, 0, 0, 0); 

但是因为我在列表中使用它,

我需要选择删除未选定行的drawableLeft,而不会出现对齐问题。

我想要的是什么:

  AAA
* BBB
  CCC  

我得到了什么:

AAA
* BBB
CCC  

我可以通过添加透明图标

来解决这个问题

但是我可以通过编程方式控制这个drawableLeft可见性吗?

2 个答案:

答案 0 :(得分:2)

我不确定您正在应用哪种类型的可绘制视图,但您可以简单地将左边距设置为与不可用时的宽度相匹配。

View.setPadding(left, 0, 0, 0);

答案 1 :(得分:1)

如果您使用的是API 23或更高版本,则可以使用m = 1.2 → m_opt = 1

否则你可以使用滤色镜。例如,隐藏左侧可绘制

android:drawableTint="@android:color/transparent"