什么是`@ null`编译成?

时间:2017-11-28 18:54:15

标签: android xml layout

如果我在布局xml @null中将app:tabTextColor设置为app:tabTextColor="@null",那么@null编译为什么?

2 个答案:

答案 0 :(得分:0)

不完全确定这是否是你想要的但是......

@null表示tabTextColor返回null,它在java中等效于:tabLayout.setTabTextColors(null)

表示没有为选项卡文本设置颜色。 @null基本上意味着“没有设置”。

答案 1 :(得分:0)

在此背景下app:tabTextColor="@null"。 我们定义或赋予的属性是否传递给用于相应地绘制视图的java类。更多信息here

因此,如果我们提供按钮背景android:background="@null"

我们给了我们的java Button类文件null,它不会在按钮背景上绘制任何内容。所以它就像java null传递给某个方法或属性一样,并且将编译为与java相同的null引用。

编译后的字节码中的a null is represented by a 0

了解more字节的工作原理

在字节代码中读取更多here的null

此处更多dalvik字节码