@null 与透明(#00000000)有什么区别
在我的布局中,我设置了 android:background"@color/transparent"
但它显示了我使用的其他一些不同的背景颜色。
当我使用 null 时,它工作正常。
我想通过编程设置@null。
怎么办?
最佳答案
@null
表示根本没有背景(View.getBackground() 返回 null)。
#00000000
表示您有一个 ColorDrawable 作为具有完全透明颜色的背景。
我没有看代码,但我猜框架测试 ColorDrawable 是否完全透明并且在这种情况下不绘制它。否则你会有一些绘图开销,使 @null
成为更快的选择。两者应该看起来相同,所以不确定这是否是您的潜在问题。
要在代码中设置 @null
的等价物,请使用 View.setBackgroundDrawable(null)
.
关于android - @null 与 #00000000 是否有任何差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9311123/