第21/22讲 UI_布局 之 线性布局

布局管理就是组件在activity中呈现方式,包括组件的大小,间距和对齐方式等。

Android提供了两种布局的实现方式:

1.在xml配置文件中声明:这种方式是将需要呈现的组件在配置文件中进行声明,在程序中通过setContentView

(R.layout.main)方法将视图呈现在activity中通过findViewById()方法获得组件实例。一般推荐这种方式。

2.在程序中通过编码,动态的生成组件以设置相关布局。

Android提供了5种类型的布局类型:

第一个:LinearLayout           (线性布局)

第二个:RelativeLayout         (相对布局)

第三个:TableLayout             (表格布局)

第四个:AbsoluteLayout       (绝对布局)

第五个:FrameLayout           (帧布局)

、LinearLayout
(线性布局)

线性布局,是5种布局最常用的一种,可以将容器里的组件一个挨一个地排列,LinearLayout可以设置各组件的排列方式(横向或者纵向)。

(1) 通过xml配置文件声明

      

1.垂直                                                              2.水平                                                              3.嵌套

android:orientation 控制布局方向,属性值有"vertical"(垂直)和"horizontal"(水平)两种。

android:gravity 控制组件的对齐方式,其值有top,bottom,left,right,center等,默认值为左上角对齐

android:layout_weight 可以对整个视图按比例分割

布局嵌套,这里是一个线性布局里头嵌套另一个线性

<?xmlversion="1.0" encoding="utf-8"?>

<LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"

android:layout_width="fill_parent"

android:layout_height="fill_parent"

android:orientation="horizontal" >

<Button

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="Button1"/>

<LinearLayout

android:orientation="vertical"

android:layout_width="fill_parent"

android:layout_height="fill_parent">

<Button

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="Button2" />

<Button

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="Button3"/>

</LinearLayout>

</LinearLayout>

(2)在程序中通过编码设置相关布局

在MainActivity.java中修改:

protected void onCreate(BundlesavedInstanceState) {

super.onCreate(savedInstanceState);

//setContentView(R.layout.main); //设置当前布局的样式。在初建一个activity的时候,程序会帮我们建好

LinearLayout  mLinearLayout =new LinearLayout(this); //创建一个管理对象

/*建立布局样式宽和高,对应xml布局中:android:layout_width="fill_parent"

android:layout_height="fill_parent" */

mLinearLayout.setLayoutParams params= newLinearLayout.LayoutParams(

LayoutParams.MATCH_PARENT,LayoutParams. MATCH_PARENT);

mLinearLayout.setLayoutParams(params);

// 设置方向,对应xml布局中:android:orientation="vertical"

mLinearLayout.setOrientation(LinearLayout.VERTICAL);

TextView mTextView = new TextView(this);      // 创建TextView对象

mTextView.setText("hello world");                       // 设置文字

LinearLayout.LayoutParams mLayoutParams = newLinearLayout.LayoutParams(

LayoutParams.FILL_PARENT,LayoutParams.WRAP_CONTENT); // 为其建立布局样式

mLinearLayout.addView(mTextView, mLayoutParams);  // 在父类布局中添加它,及布局样式

}

第21/22讲 UI_布局 之 线性布局的更多相关文章

  1. Android:控件布局(线性布局)LinearLayout

    LinearLayout是线性布局控件:要么横向排布,要么竖向排布 决定性属性:必须有的! android:orientation:vertical (垂直方向) .horizontal(水平方向) ...

  2. android布局之线性布局

    LinearLayout 线性布局有两种,分别是水平线性布局和垂直线性布局,LinearLayout属性中android:orientation为设置线性布局当其="vertical&quo ...

  3. Android 布局(线性布局、相对布局)

    一.线性布局(LinearLayout) <LinearLayout****</LinearLayout>1. orientation(布局方向)value=0 horizontal ...

  4. Android——布局(线性布局linearLayout,表格布局TableLayout,帧布局FrameLayout)

    线性布局: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:androi ...

  5. Android -- UI布局管理,相对布局,线性布局,表格布局,绝对布局,帧布局

    1. 相对布局 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmln ...

  6. Android布局之线性布局——LinearLayout

    本文将详细介绍线性布局的各种xml属性. xml属性 <?xml version="1.0" encoding="utf-8"?> <Line ...

  7. 《Tsinghua os mooc》第21~22讲 文件系统

    第二十一讲 文件系统 文件系统是操作系统中管理持久性数据的子系统,提供数据存储和访问功能. 组织.检索.读写访问数据 大多数计算机系统都有文件系统 Google 也是一个文件系统 文件是具有符号名,由 ...

  8. android的布局-----LinearLayout(线性布局)

    学习导图(图片在网上下载) 知识点详解(演示效果方便组件没有设置id) (1)gravity和Layout_gravity android:gravity 属性是对该view中内容的限定.比如一个bu ...

  9. Android开发之线性布局详解(布局权重)

    布局权重 线性布局支持给个别的子视图设定权重,通过android:layout_weight属性.就一个视图在屏幕上占多大的空间而言,这个属性给其设 定了一个重要的值.一个大的权重值,允许它扩大到填充 ...

随机推荐

  1. 使用zTree控件制作的表格形式的树形+数据菜单

    測试了一下,兼容ie7以上, chrome opera ff 不使用对方css /*------------------------------------- zTree Style version: ...

  2. Android学习之路——Android四大组件之activity(二)数据的传递

    上一篇讲了activity的创建和启动,这一篇,我们来讲讲activity的数据传递 activity之间的数据传递,这里主要介绍的是activity之间简单数据的传递,直接用bundle传递基本数据 ...

  3. box-shadow全面解析

    一.box-shadow语法: box-shadow: none | inset(可选值,不设置,为外投影,设置,为内投影) x-offset(阴影水平偏移量,正方向为right) y-offset( ...

  4. html.css溢出

    <!DOCTYPE html><!DOCTYPE html><html><head> <title></title> <m ...

  5. Java ----------- 正则表达式(更新中。。。。。。)

    RegEx:Regular Expression. 元字符 描述 \ 将下一个字符标记符.或一个向后引用.或一个八进制转义符.例如,“\\n”匹配\n.“\n”匹配换行符.序列“\\”匹配“\”而“\ ...

  6. HTML常见标签学习与笔记总结

    HTML其实就是把页面的数据封装并加上标签 表头<head> <title> 浏览器标题栏显示的内容 <base> 有href和target属性,href指定网页中 ...

  7. dinic网络流模板

    src:源点 sink:汇点 #include<queue> #include<iostream> #include<string.h> #include<s ...

  8. uva 105 - The Skyline Problem

    一.用数组储存该位置的最高点即可(图形的连续点离散化),注意左边界及右边界的情况: 注意:无论建筑物最左边是盖到哪里,你都得从1开始输出(输入输出都是integer,所以才能离散化): #includ ...

  9. Bootstrap3 入门实战

    因为公司选择了使用BootStrap3作为项目的前台展示框架,所以花了半天时间来学习Bootstrap, 如果你是第一次听说,或者说以前听说过,但没有使用过这个框架的话,希望这篇入门实战能够让你快速掌 ...

  10. 同步关键字synchronized

    同步关键字synchronized 同步关键字synchronized使用简洁,代码可维护性好.在JDK6中,性能也比早期的JDK有很大的改进.如果可以满足程序要求,应该首先考虑这种同步方式. 关键字 ...