我一直在尝试使用Android操作系统进行编程。使用网站上的教程,我看到像LinearLayout,GridLayout这样的视图使用layout_width和layout_height xml属性,但文档从未显示这些布局的这些属性的继承。我已经阅读了他们需要的地方,但没看到他们如何使用他们从未继承过的东西。
希望这个简单的问题一直困扰着我。
答案 0 :(得分:3)
检查http://developer.android.com/reference/android/view/ViewGroup.LayoutParams.html和http://developer.android.com/guide/topics/ui/declaring-layout.html
名为layout_something的XML布局属性定义适合其所在ViewGroup的View的布局参数。
每个ViewGroup类都实现一个扩展ViewGroup.LayoutParams的嵌套类。此子类包含定义每个子视图的大小和位置的属性类型,适用于视图组。如图1所示,父视图组定义了每个子视图(包括子视图组)的布局参数。 请注意,每个LayoutParams子类都有自己的语法来设置值。每个子元素必须定义适合其父元素的LayoutParams,尽管它也可以为自己的子元素定义不同的LayoutParams。
所有视图组都包含宽度和高度(layout_width和layout_height),每个视图都需要定义它们。
答案 1 :(得分:2)
这些属性由来自ViewGroup.LayoutParams的LayoutParams继承:LinearLayout.LayoutParams,GridLayout.LayoutParams等。