1. View类
Android中的View类是所有UI组件的基类,一般不会直接使用。View类位于android.view包中,View类的子类一般都位于android.widget包中,即各种控件,比如:Button、TextView……
View类中常用的XML属性及其含义:
- android:id属性:给在XML布局文件中添加的控件设置一个唯一的ID,ID记录于R.java文件中,且这个ID是自动生成的。
- android:background属性:常用于设置控件或布局的背景图片或者背景颜色
- android:padding属性:用于设置控件的内边距,例如设置文本框控件中显示的文字距离空间边界的大小。且这个属性分四个方向Left、Right、Top、Bottom,分别对应上下左右,对应的写法为android:paddingLeft、android:paddingRight、android:paddingTop、android:paddingBottom。而如果使用android:padding的话则是四个方向的内边距均为设定值,例如android:padding = "15dp"表示四个方向的内边距均为15dp。另外当Android API大于17时可以将Left换为Start,Right换为End。
2. ViewGroup类
ViewGroup类也属于View的子类,而且ViewGroup类和View类一样并不直接使用,但是我们一般使用ViewGroup的各个派生类,及各种预设好的布局管理器,比如LinearLayout、RelativeLayout……另外我们常用的ViewGroup子类还有两个:即ViewGroup.LayoutParams类和ViewGroup.MarginLayoutParams类。
LayoutParams类常用属性
- android:layout_height属性:用于控制布局高度
- android:layout_width属性:用于控制布局宽度
设置值有三个:
(1)MATCH_PARENT:充满父控件所有空间
(2)FILL_PARENT:等同于MATCH_PARENT,但是属于较老的写法
(3)WRAP_CONTENT:适应自身内容大小
MarginLayoutParams类常用属性
android:margin属性:用于设置控件和附近其他控件的距离,即控件的外边距。
使用方法和padding类似
View和ViewGroup这两个类的派生类的关系图
同时这个图也是Android UI组件的层次结构:
ViewGroup用于控制View各种控件的放置,同时其内部还可以放置其他ViewGroup