LinearLayout遵循盒模型(Box Model),即控件或子容器会沿一列或一行堆起,一个接一个的排放。
LinearLayout的属性:
在配置LinearLayout时,可以控制它的五个方面:方向、填充模型、权重、对齐和内边距。
1. 方向:
设置LinearLayout是表示一行或一列。
android:orientation属性: 将值设置为horizontal就表示行。将值设置为vertical就表示列。
可以通过LinearLayout来调用setOrientation()方法来改变位置,参数:
HORIZONTAL
VERTICAL
2. 填充模型:
LinearLayout中的所有控件必须指定:android:layout_width和android:layout_height属性。这两个属性有以下三种形式:
a. 具体的大小,如:100px;
b. wrap_content(包含内容),表示控件应该保持原来大小;
c. fill_parent(填充父元素),表示在处理完所有其他控件之后,当前控件应该填满包含它的容器的所有空用空间。
3. 权重
android:layout_weight属性:表示为相应控件分配的空间比例。其默认值为0,
如果一个控件设置为1,另一个为2,那么第二个控件占用的空间是第一个的两倍。
另一种方式是以百分比为单位,使用百分比有下面三个步骤:
a. 将布局中控件的layout_width设置为0;
b. 将控件设置成想要的百分比;
c. 保证所有这些控件的百分比和为100.
4. 重力
通过设置控件android:layout_gravity属性可以设置控件的对齐方式;值:left(左对齐)、center_vertical(水平居中对齐)、right(居右对齐)。
在JAVA可以调用setGravity()来控制控件的位置。
5. 内边距
通过android:padding属性可以为部件的四边设置内边距。
属性:android:paddingLeft(左边距)、android:paddinRight(右边距)、android:paddinTop(上边距)、android:paddinButton(下边距),单位是px,如:5px。
示例:
<?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="fill_parent"
>
<RadioGroup
android:id="@+id/Horizontal"
android:orientation="horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="5px">
<RadioButton
android:id="@+id/rdbHorizontal"
android:text="采用水平布局"/>
<RadioButton
android:id="@+id/rdbVertical"
android:text="采用垂直布局"/>
</RadioGroup>
<RadioGroup
android:id="@+id/rdbGravity"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:padding="5px">
<RadioButton
android:id="@+id/rdbLeft"
android:text="居左"/>
<RadioButton
android:id="@+id/rdbCenter"
android:text="居中"/>
<RadioButton
android:id="@+id/rdbRight"
android:text="居右"/>
</RadioGroup>
</LinearLayout>
package com.lim.layout;
import android.app.Activity;
import android.os.Bundle;
import android.view.Gravity;
import android.widget.LinearLayout;
import android.widget.RadioGroup;
public class layoutAndroid extends Activity implements RadioGroup.OnCheckedChangeListener {
private RadioGroup rdgOrientation;
private RadioGroup rdgGravity;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
rdgOrientation = (RadioGroup)findViewById(R.id.Horizontal);
rdgOrientation.setOnCheckedChangeListener(this);
rdgGravity = (RadioGroup)findViewById(R.id.rdbGravity);
rdgGravity.setOnCheckedChangeListener(this);
}
public void onCheckedChanged(RadioGroup group, int checkedId) {
switch(checkedId) {
case R.id.rdbHorizontal:
rdgOrientation.setOrientation(LinearLayout.HORIZONTAL);
break;
case R.id.rdbVertical:
rdgOrientation.setOrientation(LinearLayout.VERTICAL);
break;
case R.id.rdbLeft:
rdgGravity.setGravity(Gravity.LEFT);
break;
case R.id.rdbCenter:
rdgGravity.setGravity(Gravity.CENTER_HORIZONTAL);
break;
case R.id.rdbRight:
rdgGravity.setGravity(Gravity.RIGHT);
break;
}
}
}
运行效果:
- 描述: 默认布局
- 大小: 16.6 KB
- 描述: 选择垂直布局
- 大小: 17.3 KB
- 描述: 居中
- 大小: 16.7 KB
- 描述: 居右
- 大小: 16 KB
分享到:
相关推荐
Android开发实例:手机助手 源码
Android应用开发入门教程(经典版)&android;快速入门 Android应用开发入门教程(经典版)&android;快速入门
嵌入式系统开发之道:菜鸟成长日志与项目经理的私房菜 Part2 免费!
电子-嵌入式系统开发之道菜鸟成长日志与项目经理的私房菜.part2.rar,综合电子技术数字,模拟,高频电路
Android开发入门之路(初学者必读).zip
所有视频分为八个部分,分别为: ...第4讲:表单布局、验证与提交.avi 第5讲:数据表格.avi 第6讲:导航、图片与文本.avi 第7讲:组件库特点总结与布局模板.avi 第8讲:皮肤机制与主页导航展示.avi
菜鸟系列之一:在UBUNTU LINUX 下搭建ANDROID开发平台。 本文档系统的整理了在ubuntu系统下如何搭建android开发平台,对android感兴趣的同学可以借鉴学习下。
嵌入式系统开发之道菜鸟成长日志与项目经理的私房菜pdf文件,非扫描版哦, 对开发者还是有些帮助的。
嵌入式系统开发之道 菜鸟成长日志与项目经理的私房菜,部分章节
菜鸟级傻瓜版教程:安装另类ipa格式软件的两个主要方法(ipad版)借鉴.pdf
# 菜鸟商城 # 是一个仿淘宝客户端的实战课程,功能包括:1.支付(支付宝,微信,百度钱包) 、首页 、热卖 、商品大全 、购物车 、我的 、商品列表 、商品详情 、注册/登录 、收货地址 、我的订单 、我的收藏 ..... ...
Android开发环境配置,菜鸟级入门资料
基于VS2012的菜鸟WDF驱动开发系列
为此,“职场大菠菜”携手"指尖疯教育"重磅推出《安卓开发实战免费微课》系列!91集微课,足以让您从咿呀学语的菜鸟成功晋级内功深厚的高手。 微课也要有力量,免费也要有匠心!从PPT课件的高颜值梳妆,到产品制作...
android开发的入门教程
android商城源码,功能齐全,注释明确,是学习,二次开发的最佳选择,带数据
嵌入式开发入门教材,需要的可以下载看看 这是第二部分,请与第一部分一起下载解压
菜鸟裹裹主要包括 1.支付宝快速登录 2.支付宝注册 3.手机淘宝登录,手机登录 4.首页-校园认证 5.首页-包裹搜索,首页-添加包裹 6.首页-扫一扫 7.首页-身份码 8.首页-寄万物,寄件 9.首页-更多 10.首页-收件,首页-...
从菜鸟到高手 Android系列问答汇总