安卓的主要几大布局
2016-04-10 01:43
267 查看
http://www.cnblogs.com/wuziyue/p/5371925.html
今天我们的主要内容就是安卓的主要几个基础的布局方式。(主要布局如下:)1.线性布局(LinerLayout)
2.相对布局(RelativeLayout)
3.表格布局(TableLayout)
4.网格布局(GridLayout)
5.绝对布局(AbsoluteLayout)
6.帧布局(FrameLayout)
一:线性布局(LinerLayout)。
1.xml文件配置:
<?xml version="1.0" encoding="utf-8"?> <!-- 线性布局的页面 --> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:padding="5dp" > <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:background="#0000FF" android:gravity="center_horizontal|center_vertical" android:text="线性布局" android:textSize="20sp"/> <LinearLayout android:layout_width="200dp" android:layout_height="150dp" android:layout_gravity="center_horizontal|center_vertical" android:background="#0000FF" android:orientation="horizontal" > <TextView android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="2" android:background="#00FF00" android:text="内容一" /> <TextView android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:background="#F7F709" android:text="内容二" /> </LinearLayout> <LinearLayout android:layout_width="200dp" android:layout_height="150dp" android:layout_gravity="right" android:background="#0000FF" android:orientation="horizontal" > <TextView android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:background="#00FF00" android:text="内容一" /> <TextView android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="2" android:background="#F7F709" android:text="内容二" /> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" > <Button android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:text="按一" android:onClick="click" /> <Button android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:text="按二" android:onClick="click"/> <Button android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:text="按三" android:onClick="click"/> <Button android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:text="按四" android:onClick="click"/> </LinearLayout> </LinearLayout>
展示:
2.xml文件配置:
<?xml version="1.0" encoding="utf-8"?> <!-- 线性布局页面 --> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="20dp" android:gravity="center_horizontal|center_vertical" android:text="线性布局登录页面" android:textSize="20sp" /> <LinearLayout android:layout_width="200dp" android:layout_height="40dp" android:layout_gravity="center_horizontal|center_vertical" android:layout_marginTop="20dp" android:orientation="horizontal" > <TextView android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:text="账号:" android:textSize="15sp" /> <EditText android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="4" /> </LinearLayout> <LinearLayout android:layout_width="200dp" android:layout_height="40dp" android:layout_gravity="center_horizontal|center_vertical" android:orientation="horizontal" > <TextView android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:text="密码:" android:textSize="15sp" /> <EditText android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="4" /> </LinearLayout> <LinearLayout android:layout_width="200dp" android:layout_height="30dp" android:layout_gravity="center_horizontal|center_vertical" android:layout_marginTop="15dp" android:orientation="horizontal" > <CheckBox android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:text="记住账号" /> <CheckBox android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:text="记住密码" /> </LinearLayout> <LinearLayout android:layout_width="200dp" android:layout_height="30dp" android:layout_gravity="center_horizontal|center_vertical" android:layout_marginTop="15dp" android:orientation="horizontal" > <Button android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:onClick="click" android:text="登录" android:textSize="10sp" /> <TextView android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:textSize="15sp" /> <Button android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:onClick="click" android:text="注册" android:textSize="10sp" /> </LinearLayout> </LinearLayout>
展示:
二:相对布局(RelativeLayout)
1.xml文件布局如下:
<?xml version="1.0" encoding="utf-8"?> <!-- 相对布局页面 --> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <TextView android:id="@+id/textView" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="20dp" android:gravity="center" android:text="相对布局登录页面" android:textSize="20sp" /> <TextView android:id="@+id/textView1" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_below="@id/textView" android:layout_marginLeft="80px" android:layout_marginTop="30dp" android:text="账号:" android:textSize="15sp" /> <EditText android:id="@+id/firstEditText" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignBottom="@id/textView1" android:layout_marginLeft="130px" android:layout_marginRight="50px" /> <TextView android:id="@+id/textView2" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_below="@id/firstEditText" android:layout_marginLeft="80px" android:layout_marginTop="20dp" android:text="密码:" android:textSize="15sp" /> <EditText android:id="@+id/firstEditText2" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignBottom="@id/textView2" android:layout_marginLeft="130px" android:layout_marginRight="50px" /> <CheckBox android:id="@+id/checkbox1" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_below="@id/firstEditText2" android:layout_marginLeft="100px" android:layout_marginTop="20dp" android:text="记住账号" /> <CheckBox android:id="@+id/checkbox2" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignBottom="@id/checkbox1" android:layout_marginLeft="280px" android:layout_marginRight="50px" android:text="记住密码" /> <Button android:id="@+id/cancelButton1" android:layout_width="match_parent" android:layout_height="40dp" android:layout_below="@id/checkbox2" android:layout_marginLeft="100px" android:layout_marginRight="290px" android:layout_marginTop="25dp" android:text="登录" android:textSize="14sp" /> <Button android:id="@+id/confremButton2" android:layout_width="match_parent" android:layout_height="40dp" android:layout_alignBottom="@id/cancelButton1" android:layout_marginLeft="290px" android:layout_marginRight="100px" android:text="注册" android:textSize="14sp" /> </RelativeLayout>
展示:
三:表格布局(TableLayout)
xml文件如下:
<?xml version="1.0" encoding="utf-8"?> <!-- 表格布局页面 --> <TableLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:padding="5dp" android:stretchColumns="2" > <TableRow> <TextView android:layout_width="50dp" android:layout_height="wrap_content" android:gravity="center" android:text="序号" android:textSize="20sp" /> <TextView android:layout_width="60dp" android:layout_height="wrap_content" android:gravity="center" android:text="书名" android:textSize="20sp" /> <TextView android:gravity="center" android:text="内容" android:textSize="20sp" /> <TextView android:layout_width="60dp" android:layout_height="wrap_content" android:gravity="center" android:text="作者" android:textSize="20sp" /> </TableRow> <View android:layout_height="1.5dp" android:background="#00FF00" /> <TableRow> <TextView android:gravity="center" android:text="1" /> <TextView android:gravity="center" android:text="西游记" /> <TextView android:gravity="center" android:text="取经" /> <TextView android:gravity="center" android:text="郑晨" /> </TableRow> <View android:layout_height="1.5dp" android:background="#00FF00" /> <TableRow> <TextView android:gravity="center" android:text="2" /> <TextView android:layout_column="2" android:gravity="center" android:text="孙悟空大闹天空" /> </TableRow> <View android:layout_height="1.5dp" android:background="#00FF00" /> <TableRow> <TextView android:gravity="center" android:text="3" /> <TextView android:layout_column="1" android:gravity="center" android:text="盘龙" /> <TextView android:layout_column="3" android:gravity="center" android:text="郑晨" /> </TableRow> <View android:layout_height="1.5dp" android:background="#00FF00" /> </TableLayout>
展示:
四:网格布局(GridLayout)
1.xml文件如下:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:padding="5dp" > <!-- 网格布局 --> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="30dp" android:gravity="center" android:text="计算机" android:textSize="30sp" /> <GridLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:layout_marginTop="20dp" android:columnCount="4" android:rowCount="6" > <EditText android:id="@+id/textView6" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_columnSpan="4" android:layout_gravity="fill_horizontal" android:editable="false" android:focusable="false" android:gravity="right" android:text="0" android:textSize="20sp" /> <Button android:text="AC" android:onClick="acClick"/> <Button android:text="+/-" /> <Button android:text="%" /> <Button android:text="+" /> <Button android:text="7" /> <Button android:text="8" /> <Button android:text="9" /> <Button android:text="x" android:onClick="anClick" /> <Button android:text="4" /> <Button android:text="5" /> <Button android:text="6" android:onClick="bnClick" /> <Button android:text="-" /> <Button android:text="1" android:onClick="onClick" /> <Button android:text="2" /> <Button android:text="3" /> <Button android:text="+" /> <Button android:layout_columnSpan="2" android:layout_gravity="fill_horizontal" android:text="0" /> <Button android:text="." /> <Button android:text="=" /> </GridLayout> </LinearLayout>
2.Activity如下(这是我只写了几个按键可以按,作为例子):
//网格布局 public class GridLayout extends Activity { private EditText editText; private boolean lastClickIsNumber = false; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.grid_layout); editText = (EditText) findViewById(R.id.textView6); } public void acClick(View v) { } public void onClick(View v) { if (!lastClickIsNumber) { editText.setText("1"); } else { String oldContent = editText.getText().toString().trim(); oldContent += "1"; editText.setText(oldContent); } lastClickIsNumber = true; } public void anClick(View v) { if (!lastClickIsNumber) { editText.setText("x"); } else { String oldContent = editText.getText().toString().trim(); oldContent += "x"; editText.setText(oldContent); } lastClickIsNumber = true; } public void bnClick(View v) { if (!lastClickIsNumber) { editText.setText("6"); } else { String oldContent = editText.getText().toString().trim(); oldContent += "6"; editText.setText(oldContent); } lastClickIsNumber = true; } }
展示:
五.绝对布局(AbsoluteLayout)
xml文件如下:
<?xml version="1.0" encoding="utf-8"?> <AbsoluteLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:padding="5dp"> <TextView android:layout_width="100dp" android:layout_height="100dp" android:layout_x="100dp" android:layout_y="50dp" android:text="你好吗?"/> <TextView android:layout_width="100dp" android:layout_height="100dp" android:layout_x="50dp" android:layout_y="100dp" android:text="我很好!"/> <TextView android:layout_width="100dp" android:layout_height="100dp" android:layout_x="200dp" android:layout_y="100dp" android:text="真的吗?"/> <TextView android:layout_width="100dp" android:layout_height="100dp" android:layout_x="100dp" android:layout_y="200dp" android:text="真的!"/> </AbsoluteLayout>
展示:
到此结束,接下来我会介绍安卓的基本控件。
相关文章推荐
- IO多路复用之epoll(二)
- tab选项卡
- javascript for循环条件 2个条件和 3个条件的区别
- 如何获取进程/目标对象的全路径?
- maven查找依赖方法
- 【1】mysql系统级操作
- frame和iframe的使用与总结
- C++ 进阶必备
- 第一次接到的任务
- Devik 进程,linux 进程,线程的区别
- 实时应用监控平台cat——服务器启动流程(一)
- 异步读
- swift控制流
- 欢迎使用CSDN-markdown编辑器
- WebRTC视频流渲染中插入图片帧
- YouKu iOS笔试题二
- Run Vanilla OS X El Capitan, Yosemite or Mavericks in VirtualBox 5.0.10 on a Windows Host
- UI测试
- js模块化之require.js
- 实现正则匹配,匹配模式