feng.Z.Z 发表于 2011-1-23 16:32

Android开发——Linear Layout

这个是Android Docs里面的例子。
我只是把我理解的写出来,说的不好,欢迎指出。
Linear Layout继承自ViewGroup,它只有两种模式:vertically 和 horizontally(垂直排列和水平排列)。

首先建立一个Android项目:
然后打开:res/layout/main.xml
main.xml已经说过了,是一个布局文件。
把内容修改成:<?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">

<LinearLayout
      android:orientation="horizontal"
      android:layout_width="fill_parent"
      android:layout_height="fill_parent"
      android:layout_weight="1">
      <TextView
          android:text="red"
          android:gravity="center_horizontal"
          android:background="#aa0000"
          android:layout_width="wrap_content"
          android:layout_height="fill_parent"
          android:layout_weight="1"/>
      <TextView
          android:text="green"
          android:gravity="center_horizontal"
          android:background="#00aa00"
          android:layout_width="wrap_content"
          android:layout_height="fill_parent"
          android:layout_weight="1"/>
      <TextView
          android:text="blue"
          android:gravity="center_horizontal"
          android:background="#0000aa"
          android:layout_width="wrap_content"
          android:layout_height="fill_parent"
          android:layout_weight="1"/>
      <TextView
          android:text="yellow"
          android:gravity="center_horizontal"
          android:background="#aaaa00"
          android:layout_width="wrap_content"
          android:layout_height="fill_parent"
          android:layout_weight="1"/>
</LinearLayout>
      
<LinearLayout
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_weight="1">
    <TextView
      android:text="row one"
      android:textSize="15pt"
      android:layout_width="fill_parent"
      android:layout_height="wrap_content"
      android:layout_weight="1"/>
    <TextView
      android:text="row two"
      android:textSize="15pt"
      android:layout_width="fill_parent"
      android:layout_height="wrap_content"
      android:layout_weight="1"/>
    <TextView
      android:text="row three"
      android:textSize="15pt"
      android:layout_width="fill_parent"
      android:layout_height="wrap_content"
      android:layout_weight="1"/>
    <TextView
      android:text="row four"
      android:textSize="15pt"
      android:layout_width="fill_parent"
      android:layout_height="wrap_content"
      android:layout_weight="1"/>
</LinearLayout>

</LinearLayout>在Graphical Layout界面可以看到效果:

粗略地解释其内容:
首先用一个LinearLayout
填充界面: android:layout_width="fill_parent"
                   android:layout_height="fill_parent",
垂直排序:android:orientation="vertical"。

然后在这个LinearLayout里面填充两个LinearLayout,一个水平排序(里面放三个显示控件),一个垂直排序(放四个显示控件)
android:gravity是组件内部的对齐方式
android:layout_weight的默认值是0,意味着他们只占据它们需要显示的空间大小。
如果不为0的话,就按比例分配空间。
android:background背景颜色;
android:text显示的内容;
android:textSize字体大小;
wrap_content是适当大小,fill_parent占满父视图的空间。

而MainActivity.java的onCreate()里面则加上一句代码:    public void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.main);
      this.setTitle("Linear Layout练习");
    }试运行一下效果:

当然,在编辑main.xml时,应该好好练习一下怎样才能快速地编辑。
很多属性都不用自己输入的,在graphical layou界面都可以完成的(通过拖控件等操作)。
当然,一些布局还是要自己去去修改main.xml。

蓝星 发表于 2011-1-23 16:52

这个对我这种门外汉真是一头雾水

LouisLaw 发表于 2011-1-23 17:50

共同学习。呵呵!!!

DesertEagle 发表于 2011-1-23 18:16

过来支持一下~ 瞧瞧~

yys890122 发表于 2011-1-23 18:53

支持一下下。。。

__画地为牢 发表于 2011-1-23 19:26

看不懂,悲剧!

598105852 发表于 2013-8-8 09:26

自学很不错了~~~
页: [1]
查看完整版本: Android开发——Linear Layout