如何设置ImageButton'透明'的背景颜色?
当我使用默认的android主题尝试时,以下代码段有效,但是使用'Theme.Light',我看到灰色背景。
ImageButton deleteBtn = new ImageButton( this );
deleteBtn.setImageResource( R.drawable.delete_big );
deleteBtn.setBackgroundColor(android.R.color.transparent);
(我需要动态创建这些按钮..我已经看过使用android的layout.xml文件指定@null背景颜色的解决方案。如何以编程方式实现相同的功能?非常感谢任何帮助。谢谢!
答案 0 :(得分:1)
我必须做类似的事情,我使用透明的png 9patch。然后你可以用以下内容将它设置为背景:
deleteBtn.setBackgroundResource(R.drawable.transparent_bground);
修改:here is a 9 patch you can use.将其保存在您的一个res / drawable文件夹中。
答案 1 :(得分:0)
虽然这有点回答,但这里出了什么问题。
注意颜色。 android.R.color.transparent
实际上是一个引用查找表的整数,每次在Java中使用Android设置颜色时,它都会采用表示颜色的整数。
现在,这是一个棘手的部分:这里发生的是它将bg颜色设置为查找表索引,这恰好转换为灰色。如果我没记错的话,getResources().getColor(id)
是一个可以从上下文或活动中调用以获得正确颜色的函数。