Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

不支持@null? #54

Open
WhiteMuskMelon opened this issue Oct 23, 2019 · 2 comments
Open

不支持@null? #54

WhiteMuskMelon opened this issue Oct 23, 2019 · 2 comments

Comments

@WhiteMuskMelon
Copy link

xml布局里一个TextView 的 android:background="@null" ,设置成了null 报错 提示:
错误: -source 1.7 中不支持类型注释
(请使用 -source 8 或更高版本以启用类型注释)

@furutuki
Copy link
Contributor

furutuki commented Apr 1, 2020

这个问题已经修复了 #58

@1976222027
Copy link

3、attachToRoot==true
如果root!=null,默认情况下attachToRoot==true,那么给加载的布局文件指定root为父布局,并且直接添加到root布局中,添加时不忽略布局最外层的参数,然后返回View对象。

layout_width和layout_height是用于设置View在布局中的大小的,但如果还没有依附在父布局中,也就是在Root为null的情况下,这两个的设置将会无效。平时在Activity中指定布局文件的时候,最外层的那个布局是可以指定大小的,layout_width和layout_height都是有作用的,这主要是因为,在setContentView()方法中,Android是使用root!=null和attachToRoot==true的方式进行添加布局的,自动将布局添加到FrameLayout布局contentParent中,所以layout_width和layout_height属性才会有效果。
4、attachToRoot==false
如果root!=null,且如果attachToRoot==false,那么给加载的布局文件指定root为父布局,但无法直接添加到root布局中,需要使用addView添加到其他布局中,但不一定非要添加到所传的root布局中,添加时不忽略布局最外层的参数,然后返回View对象。

3.3、使用XML资源解析器对XML进行解析
在3.2中想要获取XML解析并实例化的View对象,就必须先进行XML解析得到AttributeSet, 也就是rInflate()、rInflateChildren()等方法;
然后使用反射根据tag对解析后的AttributeSet进行实例化得到View对象,也就是createViewFromTag()、createView()等方法。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants