转载 Android入门学习_代码常用布局
1、线性布局 LinearLayout:
线性布局是所有布局中最常用的类之一,也是RadioGroup, TabWidget, TableLayout, TableRow, ZoomControls类的父类。LinearLayout可以让它的子元素垂直或水平的方式排成一行(不设置方向的时候默认按照垂直方向排列)。
举个例子:
java代码:
- <?xml version="1.0" encoding="utf-8"?>
- <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:orientation="vertical"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- >
- <!--
- android:id —— 为控件指定相应的ID
- android:text —— 指定控件当中显示的文字,需要注意的是,这里尽量使用strings.xml文件当中的字符串
- android:grivity —— 指定控件的基本位置,比如说居中,居右等位置
- android:textSize —— 指定控件当中字体的大小
- android:background —— 指定该控件所使用的背景色,RGB命名法
- android:width —— 指定控件的宽度
- android:height —— 指定控件的高度
- android:padding* —— 指定控件的内边距,也就是说控件当中的内容
- android:layout_weight —— 控件之间的权重比
- android:sigleLine —— 如果设置为真的话,则将控件的内容在同一行当中进行显示
- -->
- <TextView
- android:id="@+id/firstText"
- android:text="第一行一行一行一行一行一行一行一行一行一行"
- android:gravity="center_vertical"
- android:textSize="35pt"
- android:background="#aa0000"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:paddingLeft="10dip"
- android:paddingTop="20dip"
- android:paddingRight="30dip"
- android:paddingBottom="40dip"
- android:layout_weight="1"
- android:singleLine="true"/>
- <TextView
- android:id="@+id/secondText"
- android:text="第二行"
- android:gravity="center_vertical"
- android:textSize="15pt"
- android:background="#0000aa"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:layout_weight="1"/>
- </LinearLayout>
复制代码
2、相对布局 RelativeLayout
相对布局 RelativeLayout 允许子元素指定它们相对于其父元素或兄弟元素的位置,这是实际布局中最常用的布局方式之一。它灵活性大很多,当然属性也多,操作难度也大,属性之间产生冲突的的可能性也大,使用相对布局时要多做些测试。
举个例子:
java代码:
- <?xml version="1.0" encoding="utf-8"?>
- <!--
- android:layout_above 将该控件的底部至于给定ID的控件之上
- android:layout_below 将该控件的顶部至于给定ID的控件之下
- android:layout_toLeftOf 将该控件的右边缘和给定ID的控件的左边缘对齐
- android:layout_toRightOf 将该控件的左边缘和给定ID的控件的右边缘对齐
- android:layout_alignBaseline 该控件的baseline和给定ID的控件的baseline对齐
- android:layout_alignBottom 将该控件的底部边缘与给定ID控件的底部边缘
- android:layout_alignLeft 将该控件的左边缘与给定ID控件的左边缘对齐
- android:layout_alignRight 将该控件的右边缘与给定ID控件的右边缘对齐
- android:layout_alignTop 将给定控件的顶部边缘与给定ID控件的顶部对齐
- android:alignParentBottom 如果该值为true,则将该控件的底部和父控件的底部对齐
- android:layout_alignParentLeft 如果该值为true,则将该控件的左边与父控件的左边对齐
- android:layout_alignParentRight 如果该值为true,则将该控件的右边与父控件的右边对齐
- android:layout_alignParentTop 如果该值为true,则将空间的顶部与父控件的顶部对齐
- android:layout_centerHorizontal 如果值为真,该控件将被至于水平方向的中央
- android:layout_centerInParent 如果值为真,该控件将被至于父控件水平方向和垂直方向的中央
- android:layout_centerVertical 如果值为真,该控件将被至于垂直方向的中央
- -->
- <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent">
- <TextView
- android:id="@+id/label"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:text="Type here:" />
- <EditText
- android:id="@+id/entry"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:background="@android:drawable/editbox_background"
- android:layout_below="@id/label" />
- <Button android:id="@+id/ok"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_below="@id/entry"
- android:layout_alignParentRight="true"
- android:layout_marginLeft="10dip"
- android:text="OK" />
- <Button android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_toLeftOf="@id/ok"
- android:layout_alignTop="@id/ok"
- android:text="Cancel" />
- </RelativeLayout>
复制代码
3、表单布局 TableLayout
和TableRow配合使用,和HTML里的Table相似。
举个例子:
java代码:
- <?xml version="1.0" encoding="utf-8" ?>
- <TableLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent"android:layout_height="fill_parent" android:stretchColumns="1">
- <TableRow>
- <TextView
- android:layout_column="1"
- android:text="打开..."
- android:padding="3dip" />
- <TextView
- android:text="Ctrl-O"
- android:gravity="right"
- android:padding="3dip" />
- </TableRow>
- <TableRow>
- <TextView
- android:layout_column="1"
- android:text="保存..."
- android:padding="3dip" />
- <TextView
- android:text="Ctrl-S"
- android:gravity="right"
- android:padding="3dip" />
- </TableRow>
- <TableRow>
- <TextView
- android:layout_column="1"
- android:text="另存为..."
- android:padding="3dip" />
- <TextView
- android:text="Ctrl-Shift-S"
- android:gravity="right"
- android:padding="3dip" />
- </TableRow>
- <View
- android:layout_height="2dip"
- android:background="#FF909090" />
- <TableRow>
- <TextView android:text="*" android:padding="3dip" />
- <TextView android:text="导入..." android:padding="3dip" />
- </TableRow>
- <TableRow>
- <TextView android:text="*" android:padding="3dip" />
- <TextView android:text="导出..." android:padding="3dip" />
- <TextView android:text="Ctrl-E" android:gravity="right" android:padding="3dip" />
- </TableRow>
- <View android:layout_height="2dip" android:background="#FF909090" />
- <TableRow>
- <TextView android:layout_column="1" android:text="退出" android:padding="3dip" />
- </TableRow>
- </TableLayout>
复制代码
4、切换卡 Tabwidget
继承TabActivity,实现标签的切换功能。
举个例子:
java代码:
- <?xml version="1.0" encoding="utf-8"?>
- <TabHost xmlns:android="http://schemas.android.com/apk/res/android"
- android:id="@android:id/tabhost"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent">
- <LinearLayout
- android:orientation="vertical"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent">
- <TabWidget
- android:id="@android:id/tabs"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content" />
- <FrameLayout
- android:id="@android:id/tabcontent"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent">
- <TextView
- android:id="@+id/textview1"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent"
- android:text="this is a tab" />
- <TextView
- android:id="@+id/textview2"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent"
- android:text="this is another tab" />
- <TextView
- android:id="@+id/textview3"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent"
- android:text="this is a third tab" />
- </FrameLayout>
- </LinearLayout>
- </TabHost>
复制代码
其他布局:
1、帧布局 FrameLayout:
是最简单的一个布局对象。在他里面的的所有显示对象爱你过都将固定在屏幕的左上角,不能指定位置,但允许有多个显示对象,只是后一个会直接覆盖在前一个之上显示,会把前面的组件部分或全部挡住。
举个例子:
java代码:
- <?xml version="1.0" encoding="utf-8"?>
- <FrameLayout
- xmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent">
- <TextView
- android:text="big"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:textSize="50pt"/>
- <TextView
- android:text="middle"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:textSize="20pt"/>
- <TextView
- android:text="small"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:textSize="10pt"/>
- </FrameLayout>
复制代码
2、绝对布局 AbsoluteLayout
绝对定位AbsoluteLayout,又可以叫做坐标布局,可以直接指定子元素的绝对位置,这种布局简单直接,直观性强,但是由于手机屏幕尺寸差别比较大,使用绝对定位的适应性会比较差。分辨率不一样的屏幕,显示的位置也会有所不同。
举个例子:
java代码:
- < ?xml version="1.0" encoding="utf-8"?>
- < AbsoluteLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:orientation="vertical"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent"
- >
- < EditText
- android:text="Welcome to Mr Wei's blog"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"/>
- < Button
- android:layout_x="250px" //设置按钮的X坐标
- android:layout_y="40px" //设置按钮的Y坐标
- android:layout_width="70px" //设置按钮的宽度
- android:layout_height="wrap_content"
- android:text="Button"/>
- < /AbsoluteLayout>
转载于:https://www.cnblogs.com/xiao0/archive/2011/09/07/2170241.html
转载 Android入门学习_代码常用布局相关推荐
- Android 入门第二讲03-约束布局ConstraintLayout(可视化介绍,Chains链,MATCH_CONSTRAIN,百分比布局,圆形定位,Guideline,Barrier)
Android 入门第二讲03-约束布局ConstraintLayout(可视化介绍,Chains链,MATCH_CONSTRAIN,百分比布局,圆形定位,Guideline,Barrier) 1.可 ...
- 深度学习保姆级入门教程 -- 论文+代码+常用工具
导读 该篇文章可以看作是我研一如何入门深度学习的一个大总结,本人本科专业为软件工程,硕士期间研究方向为基于深度学习的图像分割,跨度相对而言不算太大.如果你对如何入门深度学习还很迷茫的话,那么请看下去吧 ...
- Android 学习总结--六大常用布局
目录 一.相对布局(RelativeLayout) 二.线性布局(LinearLayout) 三.网格布局(GridLayout) 四.表格布局(TableLayout) 五.帧布局(FrameLay ...
- Android入门(八) | 常用的界面布局 及 自定义控件
文章目录 LinearLayout :线性布局 android:layout_gravity :控件的对齐方式 android:layout_weight:权重 RelativeLayout :相对布 ...
- Android入门教程:ConstraintLayout约束布局
原文首发自掘金芦苇APP团队,转载到自己小号上再发一遍~ 翻译By Leelion6.关于 ConstraintLayout 的文章其实已经不少了,不过看到这篇文章写的很有趣,以及在翻译的过程中,感受 ...
- android应用开发---(第1章)android基础学习之六大Layout布局
Android中任何可视化的控件都是从android.veiw.View继承而来的,系统提供了两种方法来设置视图:第一种也是我们最常用的的使用XML文件来配置View的相关属性,然后在程序启动时系统根 ...
- Android开发学习之卡片式布局的简单实现
GoogleNow是Android4.1全新推出的一款应用,它可以全面了解你的使用习惯,并为你提供现在或者未来可能用到的各种信息,GoogleNow提供的信息关联度较高,几乎是瞬间返回答案,总而言之, ...
- Android入门(二)——常见布局与控件
文章目录 一.常见界面布局 1.线性布局 LinearLayout 2.相对布局 RelativeLayout 3.表格布局 TableLayout 4.帧布局 FrameLayout 二.常见界面控 ...
- 30岁后学oracle还有前途吗,程序员入门学习_程序员30岁后的出路
下面w3cschool给程序员小伙伴们有些程序员学习编程一上来就想着月薪1W+以上,这样的学习过程会非常痛苦,很 0.C++入门学习方法 首先要对C++有学习基础语法,熟悉调用各种库函数,这时你便成为 ...
最新文章
- linux下运行python unitest_Python unittest打印日志可以在Linux上运行,但在Windows上不行...
- 这家研究院太年轻,竟跟世界级选手“叫板”
- 一个关于解决序列化问题的编程技巧
- Django 无法加载静态文件(js,css,image)解决办法
- 一个简单的mysql存储过程
- request.getParameter和request.getAttribute之间的区别
- 2020 MCM Meritorious Winner
- 键盘按下某键 停止运行java_实现按下一个键执行操作/松开一个键停止操作
- mysql密码命名规则_MySql命名规范
- MySQL 数据库误删除后的数据恢复操作说明
- sre8 sre10_是什么使SRE出色?
- Java Web之会话管理二:Session
- 猫叫了,老鼠跑了!(复习委托和事件)
- 精通Hyperledger之Hyperledger composer查询语言(17)
- 刘宇凡:从吃饭中的道理领悟SEO
- Java加密体系结构(JCA)参考指南
- ImageNet数据集 下载
- cmake + googletest 之一 入门
- java锁的种类及研究
- Paddle打比赛-古籍文档图像识别与分析算法比赛
热门文章
- Maven项目缺少Maven Dependencies解决方法
- php 联接sq sever,步骤 4:使用 PHP 弹性连接到 SQL
- java中redis存储map集合_使用RedisTemplate存储Map集合的一点注意
- java任务追踪预警怎么写_分布式系统中如何优雅地追踪日志(原理篇)
- 95-20-025-启动器-AbstractBootstrap
- 【clickhouse】Clickhouse 支持毫秒 纳秒数据
- 【Antlr】cannot create implicit token for string literal in non-combined grammar xx
- Git仓库只拷贝代码-不拷贝提交记录-不拷贝其他分支
- RocketMQ写入数据报错RemotingTooMuchRequestException: sendDefaultImpl call timeout
- 汇编语言转为c语言,如何把汇编语言转换成C语言