`
limdengrock
  • 浏览: 35460 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

菜鸟Android开发系列之:线性布局

阅读更多


 LinearLayout
遵循盒模型(Box Model),即控件或子容器会沿一列或一行堆起,一个接一个的排放。

LinearLayout的属性:

         在配置LinearLayout时,可以控制它的五个方面:方向、填充模型、权重、对齐和内边距。

1.       方向:

设置LinearLayout是表示一行或一列。

android:orientation属性:  将值设置为horizontal就表示行。将值设置为vertical就表示列。

可以通过LinearLayout来调用setOrientation()方法来改变位置,参数:

HORIZONTAL   

VERTICAL

2.       填充模型:

LinearLayout中的所有控件必须指定:android:layout_widthandroid: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开发入门之路(初学者必读).zip

    "Android开发入门之路(初学者必读).zip"这个压缩包可能包含了一系列针对这些问题的教程、指南或者案例,帮助初学者系统地学习和掌握Android开发的基础知识。 首先,我们来看一下压缩包中的四个文件名,虽然没有...

    Android开发实例:手机助手 源码

    3. **权限管理**:Android 6.0及以上版本引入了运行时权限,开发者需要在代码中适当地请求和处理这些权限,例如读写存储、访问联系人等。 4. **内容提供者(Content Provider)**:如果应用涉及到数据共享或跨应用...

    android app项目菜鸟微博

    1. **Android SDK**:Android SDK是开发Android应用的基础,它包含了编写、调试和打包应用所需的所有工具。在这个项目中,我们将用到SDK中的Android Studio IDE,它提供了代码编辑、调试、构建和发布等功能。 2. **...

    android商城源码(菜鸟商城)

    总的来说,“菜鸟商城”源码是一个功能完备、注释详尽的Android商城应用实例,对于学习Android开发和实际项目经验的积累都有很大帮助。通过深入研究这份源码,开发者不仅可以掌握Android应用开发的基本技能,还能...

    Android开发入门经典pdf

    系统的、循序渐进的学习Android开发所需的知识 n 第一部分:Android的入门基础 包括:Android是什么、有什么、能干什么,Android开发的环境构建、 HelloWorld开发,HelloWorld基本分析等 n 第二部分:Android应用核心...

    傻瓜式Android APP开发入门教程

    - **Android SDK** 包含了一系列用于开发Android应用程序的工具。可以通过访问Android开发者网站下载最新的SDK包。如果您还没有集成开发环境(IDE),可以选择下载包含Eclipse的完整包;如果已经有IDE,则可以选择...

    Android菜鸟日记25-android反编译

    这篇“Android菜鸟日记25-android反编译”将带你走进Android反编译的世界,揭示APK背后的秘密。 首先,让我们了解什么是Android反编译。Android应用主要由Java语言编写,经过编译后生成Dalvik字节码(.dex文件),...

    QUI 框架开发 第4讲:表单布局、验证与提交 (4/8)

    所有视频分为八个部分,分别为: ...第4讲:表单布局、验证与提交.avi 第5讲:数据表格.avi 第6讲:导航、图片与文本.avi 第7讲:组件库特点总结与布局模板.avi 第8讲:皮肤机制与主页导航展示.avi

    android学习经典小例子菜鸟必备

    XML布局文件的编写,如线性布局、相对布局、网格布局等,是Android开发的基础。 3. **活动(Activity)管理**:Activity是Android应用中的基本组件,用于展示用户界面。理解如何启动、切换和销毁Activity,以及处理...

    android应用开发流程

    Android 应用开发流程是一系列复杂的步骤,需要掌握多种技术和技能。本文旨在帮助菜鸟开发者快速入门 Android 应用开发,提供了详细的流程和经验总结。 准备工作 在开始 Android 应用开发之前,需要具备以下技能:...

    linux系统下搭建android开发平台

    菜鸟系列之一:在UBUNTU LINUX 下搭建ANDROID开发平台。 本文档系统的整理了在ubuntu系统下如何搭建android开发平台,对android感兴趣的同学可以借鉴学习下。

    【菜鸟谈android】(二) android基本概念及处理过程

    6. **Android SDK和开发环境**:Android软件开发工具包(SDK)包含了开发Android应用所需的所有工具,包括Android Studio。熟悉这些工具的使用可以提升开发效率。 7. **Android源码**:文件“android-src.jar”可能...

    深入浅出Android——Android开发经典教材.pdf

    - **视觉化的界面开发工具**:Android Studio提供了一个强大的布局编辑器,可以在设计模式下直接拖拽控件到界面上。 - **获取标识ID**:为了更好地控制界面上的各个元素,每个控件都需要一个唯一的ID。 - **存取...

    菜鸟窝企业项目课程《菜鸟商城》的源码.rar

    通过学习和实践《菜鸟商城》项目,开发者不仅可以掌握Java后端和安卓客户端的开发技术,还能深入了解电商系统的架构设计和业务逻辑,为今后的项目开发积累宝贵经验。同时,该项目也适合初学者进行实战演练,提升自己...

    Android开发的基础常用的布局上机实验

    LinearLayout按垂直或水平方向线性排列子视图,适用于简单的一维布局。RelativeLayout允许子视图相对于彼此或父布局进行定位,适合复杂的相对位置布局。FrameLayout用于叠加多个视图,所有子视图默认位于左上角,...

    菜鸟商城Android全套视屏教程

    # 菜鸟商城 # 是一个仿淘宝客户端的实战课程,功能包括:1.支付(支付宝,微信,百度钱包) 、首页 、热卖 、商品大全 、购物车 、我的 、商品列表 、商品详情 、注册/登录 、收货地址 、我的订单 、我的收藏 ..... ...

    Android移动应用开发从入门到精通

    《Android移动应用开发从入门到精通》这本书是针对Android移动应用开发领域的一本实用指南。在介绍这本书之前,我们需要了解Android平台的基础知识以及移动应用开发的相关概念。 首先,Android是一种基于Linux内核...

Global site tag (gtag.js) - Google Analytics