-
Button、TextView、EditText都是**「视图类」**,TextView是Button和EditText的父类,TextView直接继承自View类。
-
GridView和ListView是ViewGroup的子类,但并不是直接子类,GridView、ListView继承自AbsListView继承自AdapterView继承自ViewGroup,从而形成了**「视图容器类」**的层次结构。
-
布局视图虽然也属于容器视图,但由于布局视图具有排版功能,所以将这类视图置为**「布局类」**。
对于一个Android应用的图形用户界面来说,ViewGroup作为容器来装其他组件,而ViewGroup里除了可以包含普通View组件之外,还可以再次包含ViewGroup组件。
创建View对象
========
使用XML布局定义View,再用代码控制View
XML布局文件是Android系统中定义视图的常用方法,所有的XML布局文件必须保存在res/layout目录中。XML布局文件的命名及定义需要注意如下几点:
-
XML布局文件的扩展名必须是xml。
-
由于aapt会根据每一个XML布局文件名在R类的内嵌类中生成一个int类型的变量,这个变量名就是XML布局文件名,因此,XML布局文件名(不包含扩展名)必须符合Java变量名的命名规则,例如,XML布局文件名不能以数字开头。
-
每一个XML布局文件的根节点可以是任意的视图标签,如< LinearLayout >,< TextView >。
-
XML布局文件的根节点必须包含android命名空间,而且命名空间的值必须是xmlns:android=http://schemas.android.com/apk/res/android。
-
为XML布局文件中的标签指定ID时需要使用这样的格式:@+id/tv_xml,其实@+id就是在R.java文件里新增一个id名称,在同一个xml文件中确保ID唯一。
-
由于每一个视图ID都会在R.id类中生成与之相对应的变量,因此,视图ID的值也要符合Java变量的命名规则,这一点与XML布局文件名的命名规则相同。
举例
–