总结android常见控件与布局
- 前言:半年来,我貌似已经写了好几万行代码,所以最近开始夯实基础。此文是我重读《第一行代码》的总结,内容基础但便于自己复习。
(一).常用控件
1.TextView:用于表示文本信息
<TextView
android:id="@+id/txt_my_orders"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="@dimen/largePadding"
android:background="@drawable/selector_list_item"
android:drawableLeft="@drawable/icon_list_o"
android:gravity="center_vertical"
android:drawablePadding="20dp"
android:text="@string/my_orders"
android:textColor="@color/black"/>
【注意】match_parent表示让当前控件的大小和父布局大小一样,wrap_content表示让当前控件的大小能够刚好包住里面的内容。
- android:drawableLeft=”@drawable/icon_list_o”表示TextView左边为图片
- android:gravity 属性是对该view中内容的限定.比如一个button 上面的text. 你可以设置该text 相对于view的靠左,靠右等位置.
- android:layout_gravity是用来设置该view相对与父view 的位置.比如一个button 在linearlayout里,你想把该button放在linearlayout里靠左、靠右等位置就可以通过该属性设置.
- android:paddingLeft=”30px” 按钮上设置的内容离按钮左边边界30个像素,right,top,bottom。
- android:layout_marginLeft=”30px” 整个按钮离左边设置的内容30个像素,以此类推出right,top,bottom。
2.Button:程序与用户进行交互的一个重要控件。可配置的属性和TextView差不多。Button可以建立监听机制,也可以设置背景图片。
- android:background=”@drawable/…”
3.EditText:EditText允许用户在控件中输入和编辑内容,并且可以在程序中对这些内容进行处理。
//在文本框中有提示功能
android:hint="请输入手机号码"
//设置EditText的最大行数为两行
android:maxLines="2"
//把输入类型变为密码
android:inputType="textPassword"
4.ImageView:用于在界面上展示图片的一个控件。
5.progressBar:用于在界面上显示一个进度条表示我们正在加载一些数据。有分圆形和长条形进度条。
【注意】Android控件的可见属性,所有控件都有这个属性。
//表示控件可见
android:visibility="visible"
//表示控件不可见,但是仍然占据着原来的大小,可以理解为控件变成透明状态
android:visibility="invisible"
//表示控件不仅不可见而且不再占用空间
android:visibility="gone"
(二).详解四种基本布局
1.LinearLayout:LinearLayout又称为线性布局。我们通过android:orientation属性来制定排列方向。注意下面android:layout_weight。允许我们使用比例来指定控件大小。
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
android:padding="@dimen/largePadding"
android:orientation="horizontal"
android:gravity="center_vertical">
<TextView
android:id="@+id/txt_toReg"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="注册账号"
android:layout_weight="1"
android:textColor="@color/blue"
android:textSize="12sp"
/>
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="忘记密码"
android:layout_weight="1"
android:textColor="@color/blue"
android:textSize="12sp"
android:gravity="right"
/>
</LinearLayout>
2.RelativeLayout:相对布局
这里将这些属性分成组,便于理解和记忆。
a)、第一类:属性值为true或false
android:layout_centerHrizontal 水平居中
android:layout_centerVertical 垂直居中
android:layout_centerInparent 相对于父元素完全居中
android:layout_alignParentBottom 贴紧父元素的下边缘
android:layout_alignParentLeft 贴紧父元素的左边缘
android:layout_alignParentRight 贴紧父元素的右边缘
android:layout_alignParentTop 贴紧父元素的上边缘
b)、第二类:属性值必须为id的引用名“@id/id-name”
android:layout_below 在某元素的下方
android:layout_above 在某元素的的上方
android:layout_toLeftOf 在某元素的左边
android:layout_toRightOf 在某元素的右边
android:layout_alignTop 本元素的上边缘和某元素的的上边缘对齐
android:layout_alignLeft 本元素的左边缘和某元素的的左边缘对齐
android:layout_alignBottom 本元素的下边缘和某元素的的下边缘对齐
android:layout_alignRight 本元素的右边缘和某元素的的右边缘对齐
c)、第三类:属性值为具体的像素值,如30dip,40px
android:layout_marginBottom 离某元素底边缘的距离
android:layout_marginLeft 离某元素左边缘的距离
android:layout_marginRight 离某元素右边缘的距离
android:layout_marginTop 离某元素上边缘的距离