0
0

简单的Android线性视图实例

2011/05/19 · 评论 

LinearLayout(线性视图)是一个ViewGroup(视图组),负责显示纵向或横向的子视图。在你使用线性视图的时候,如果你嵌套多个线性视图,我们建议你使用relativelayout(相对视图), 这个可以提高应用程序显示视图的速度。

  1. 创建一个新的项目名为HelloLinearLayout。
  2. 打开 res/layout/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>

如果你仔细查看这段代码,你会发现整个视图被包含在一个根视图里,这个根视图的 android:orientation=”vertical” 被定义为纵向显示,所以它的两个子视图是上下显示。对于两个子视图,它们各包含有4个文本视图。第一子视图的显示方向被定义为android:orientation=”horizontal“ 横向,所以第一个4个子文本视图是横向显示。然而第二个子视图的显示方向被定义为android:orientation=”vertical“ 纵向向,所以第二个4个子文本视图是纵向向显示。

3. 现在打开 HelloLinearLayout.java 然后确认在onCreated()方法里有载入 res/layout/main.xml布局,代码如下:

public void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.main);
}

该setContentView(int)方法加载该活动的布局文件,由指定的资源ID – R.layout.main来寻找其地址 res/layout/main.xml。

4. 运行该项目,你应该该看到以下的视图:

请注意XML属性将如何定义每个视图的行为。 尝试不同的 layout_weight 值或其他属性值,看看屏幕上是怎么分布各个组件的。

您可能也喜欢

与大家分享点什么吧: