97干视频,99国产精品懂色,亚洲精品99久久久久中文字幕,伊人五月丁香综合AⅤ,国产精品成人免费999

  您的位置:華清遠(yuǎn)見(jiàn)教育科技集團(tuán) >> 新聞動(dòng)態(tài) >> Android資料 >> Android界面布局之線(xiàn)性布局  
 
Android界面布局之線(xiàn)性布局
分享到:

線(xiàn)性布局是Android界面布局中簡(jiǎn)單的布局之一,它提供了控件水平或者垂直排列的模型。如圖-1所示,線(xiàn)性布局中,所有的子元素如果垂直排列,則每行僅包含一個(gè)界面元素;如果水平排列,則每列僅包含一個(gè)界面元素。


圖-1 線(xiàn)性布局(LinearLayout)效果圖

同時(shí),使用此布局時(shí)可以通過(guò)設(shè)置控件的Weight 參數(shù)控制各個(gè)控件在容器中的相對(duì)大小。LinearLayout 布局的屬性既可以在布局文件(XML)中設(shè)置,也可以通過(guò)成員方法進(jìn)行設(shè)置。表1-1給出了LinearLayout 常用的屬性及這些屬性的對(duì)應(yīng)設(shè)置方法。

表1-1 LinearLayout 常用屬性及對(duì)應(yīng)方法

屬性名稱(chēng) 對(duì)應(yīng)方法 描述
android:orientation setOrientation(int) 設(shè)置線(xiàn)性布局的朝向,可取horizontal
android:gravity setGravity(int) 設(shè)置線(xiàn)性布局的內(nèi)部元素的布局方式

在線(xiàn)性布局中可使用gravity 屬性來(lái)設(shè)置控件的對(duì)齊方式,gravity 可取的值及說(shuō)明如表1-2所示。

提示:當(dāng)需要為gravity 設(shè)置多個(gè)值時(shí),用“|”分隔即可。

表1-2 gravity 可取的屬性及說(shuō)明

屬性 說(shuō)明
top 不改變控件大小,對(duì)齊到容器頂部
bottom 不改變控件大小,對(duì)齊到容器底部
left 不改變控件大小,對(duì)齊到容器左側(cè)
right 不改變控件大小,對(duì)齊到容器右側(cè)
center_vertical 不改變控件大小,對(duì)齊到容器縱向中央位置
center-horizontal 不改變控件大小,對(duì)齊到容器橫向中央位置
center 不改變控件大小,對(duì)齊到容器中央位置
fill_vertical 若有可能,縱向拉伸以填滿(mǎn)容器
fill_horizontal 若有可能,橫向拉伸以填滿(mǎn)容器
fill 若有可能,縱向橫向同時(shí)拉伸以填滿(mǎn)容器

以下用一個(gè)線(xiàn)性布局的例子來(lái)加深對(duì)線(xiàn)性布局的理解。

1.創(chuàng)建一個(gè)名為L(zhǎng)inearLayout的Android工程

包名稱(chēng)是edu.hrbeu.LinearLayout,Activity名稱(chēng)為L(zhǎng)inearLayout。為了能夠完整體驗(yàn)創(chuàng)建線(xiàn)性布局的過(guò)程,我們需要?jiǎng)h除Eclipse自動(dòng)建立的/res/layout/main.xml文件,之后我們將手動(dòng)創(chuàng)建一個(gè)XML布局文件。

2.建立XML線(xiàn)性布局文件

首先,刪除Eclipse自動(dòng)建立的/res/layout/main.xml文件;其次,建立用于顯示垂直排列線(xiàn)性布局的XML文件:右擊/res/layout文件夾,選擇“New”→“File”命令打開(kāi)新文件建立向?qū),文件名為main_vertical.xml,保存位置為L(zhǎng)inearLayout/res/layout,如圖-2所示。


圖-2 新建線(xiàn)性布局XML文件

3.編輯XML線(xiàn)性布局文件

打開(kāi)XML文件編輯器,對(duì)main_vertical.xml文件的代碼做如代碼清單5-1所示的修改。

代碼清單1-1 main_vertical.xml

<?xml version="1.0" encoding="utf-8"?>
    <LinearLayout
      xmlns:android="http://schemas.android.com/apk/res/android"
      android:layout_width="match_parent"
      android:layout_height="wrap_content"
      android:orientation="vertical">
    </LinearLayout>

第2行代碼是聲明XML文件的根元素為線(xiàn)性布局;第4、5、6行代碼是在屬性編輯器中修改過(guò)的寬度、高度和排列方式的屬性。同樣地,用戶(hù)可以在可視化編輯器和屬性編輯器中對(duì)頁(yè)面布局進(jìn)行修改,這些修改會(huì)同步地反映在XML文件中。

4.添加控件

將四個(gè)界面控件TextView、EditText、Button、Button先后拖曳到可視化編輯器中,所有控件都自動(dòng)獲取控件名稱(chēng),并把該名稱(chēng)顯示在控件上,如TextView01、EditText01、Button01和Button02。


圖-3 線(xiàn)性布局添加控件

修改界面控件的屬性如表1-3所示。

表1-3 線(xiàn)性布局控件屬性

編號(hào) 類(lèi)型 屬性
1 TextView
id
text
@+id/label
用戶(hù)名:
2 EditText
id
Layout_width
@+id/entry
match_parent
3 Button
text
id
[null]
@+id/ok
4 Button
text
id
確認(rèn)
@+id/cancel

打開(kāi)XML文件編輯器查看main_vertical.xml文件代碼,發(fā)現(xiàn)在屬性編輯器內(nèi)填入的文字已經(jīng)正常寫(xiě)入XML文件中,如代碼清單5-2中第11、20、25行代碼。

代碼清單1-2 main_vertical.xml

<?xml version="1.0" encoding="utf-8"?>
    <LinearLayout
      xmlns:android="http://schemas.android.com/apk/res/android"
      android:layout_width="match_parent"
      android:layout_height="wrap_content"
      android:orientation="vertical">

    <TextView android:id="@+id/label"
          android:layout_width="wrap_content"
          android:android:layout_height="wrap_content"
          android:android:text="用戶(hù)名: " >
      </TextView>
      <EditText android:id="@+id/entry"
          android:layout_height="wrap_content"
          android:layout_width="match_parent">
      </EditText>
      <Button android:id="@+id/ok"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:text="確認(rèn)">
      </Button>
      <Button android:id="@+id/cancel"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:text="取消" >
      </Button>
    </LinearLayout>

5.修改LinearLayout.java文件

將LinearLayout.java文件中的setContentView(R.layout.main),更改為setContentView (R.layout.main_vertical)。

同理,按照以上步驟,可以得到橫向線(xiàn)性布局。

·建立main_ horizontal.xml文件。
    ·線(xiàn)性布局的Orientation屬性的值設(shè)置為horizontal。
    ·將EditText的Layout width 屬性的值設(shè)置為wrap_content。
    ·將LinearLayout.java文件中的setContentView(R.layout.main_vertical)修改為setContentView(R.layout.main_ horizontal)。

 更多相關(guān)文章

·Android開(kāi)發(fā)界面布局概述
·Android用戶(hù)界面開(kāi)發(fā)基礎(chǔ)
·Android程序UI設(shè)計(jì)
·Windows下Android開(kāi)發(fā)環(huán)境搭建步驟圖解
·Android應(yīng)用-用戶(hù)圖形界面設(shè)計(jì)概念(二)