繁体   English   中英

在Android中使用Theme.Light将ImageButton的背景设置为透明

[英]setting ImageButton's background transparent with Theme.Light in android

如何将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背景色。我如何以编程方式实现同​​一目的?非常感谢您的帮助。谢谢!

此处具有灰色背景的图像:

我必须做类似的事情,我使用了透明的png 9patch。 然后,您可以将其设置为背景,例如:

deleteBtn.setBackgroundResource(R.drawable.transparent_bground);

编辑: 这是您可以使用的9补丁。 将其保存在您的res / drawable文件夹之一中。

即使这是一种答案,这还是出了问题。

注意颜色。 android.R.color.transparent实际上是引用查找表的整数,并且每次在Java中使用Android设置颜色时,它都会接受一个代表该颜色的整数。

现在,这是一个棘手的部分:这里发生的是将bg颜色设置为查找表索引,该索引恰好转换为灰色。 如果我没记错的话, getResources().getColor(id)是可以从上下文或活动中调用以获取正确颜色的函数。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM