控件(widget)
1. TextView(该控件的一些需要注意的属性,下同)
gravity="center"
textSize="24sp"
textColor="#00ff00"
(完整的前面应该加android:
,为了方便均忽略)
2. EditText
hint="Type something here"
maxLines="2"
3. ImageView
src="@drawable/ic_launcher"
imageView.setImageResoure(R.drawable.jetlly)
4. ProgressBar
1
|
progressBar.setVisibility(View.GONE)//设置不可见,且不占用任何空间
|
实际上需要去添加逻辑(比如当数据加载完成时执行:
1
|
progressBar.setVisibility(View.GONE)//设置不可见,且不占用任何空间
|
不然,ProgressBar会一直转
还有功能:
1
|
progressbar.getVisibility()
|
在ProgressBar参数中style="?android:attr/progressBarStyleHorizontal"
可将进度条变成水平,参数max="100"
设置水平进度条的最大值
5. AlertDialog
1
|
AlertDialog.Builder dialog = new AlertDialog.Builder(MainActivity.this);//可以理解为对话框建立在这个活动之上
|
注意:AlertDialog在程序里面写,不再布局里写
6. ProgressDialog
1
|
ProgressDialog progressDialog = new ProgressDialog(MainActivity.this);
|
与AlertDialog类似
四大布局(Layout)
1. LinearLayout
layout_gravity属性
orientation
的方向一定是与layout_gravity方向正交,解释如下:
如果orientation="vertical"
,那么就只有水平方向的对齐有效
此时控件的layout_gravity"
就有三种值:
- left
- center_horizontal
- right
同理,如果orientation="horizontal"
此时控件的layout_gravity
有三种值:
- top
- center_vertical
- bottom
####### layout_weight(权重)
若orientation="horizontal"
,此时xml中有EditText
和Button
,设置他们的layout_width="0dp"
,若设置EditText
的layout_weight="3"
,设置Button
的layout_weight="2"
,前者占屏幕的3/5,后者占2/5
2. RelativeLayout
控件相对父布局定位
- layout_alignParentTop
- layout_alignparentBottom
- layout_alignParentRight
- layout_alignParentLeft
- laout_centerInParent
控件相对控件定位
- layout_below
- layout_toRightOf
- layout_toLeftOf
- layout_above
边缘对齐(就试验的情况下,貌似此处orientation不顶用)
- layout_alignLeft
- layout_alignRight
- layout_alignTop
- layout_alignBottom
3. FrameLayout
所有控件都摆放在左上角
4.TableLayout
1
|
//一对这样的标签就表示一行
|
- 需要注意的是,《第一行代码》中当一行有
TextView
和EditText
时,TextView
只有layout_height
属性,这可能是由于TableLayout有自己的关于每行中列宽度的规定,以后遇到这种情况再做更正 - 合并单元格:
layout_span="2"
表示横跨两列 - TableLayout头部添加
android:stretchColumns="1"
,即将第二列拉伸,0
则拉伸第一列