色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

Android用戶界面設(shè)計(jì):框架布局

  框架布局是將控件組織在Android程序的用戶界面中最簡(jiǎn)單的布局類型之一。

  理解布局對(duì)于良好的Android程序設(shè)計(jì)來(lái)說(shuō)是非常重要的。在這個(gè)教程里,你將學(xué)到所以關(guān)于框架布局的知識(shí),它們主要用來(lái)在屏幕上組織特別的或重疊的視圖控件。使用得當(dāng)?shù)脑挘芏嘤腥さ?a href=/yidongkaifa/android/ target=_blank class=infotextkey>Android程序用戶界面都可以基于框架布局來(lái)設(shè)計(jì)。

  什么是框架布局

  框架布局是Android開(kāi)發(fā)者組織視圖控件最簡(jiǎn)單和最有效的布局之一。它們使用得比其它一些布局要少一些,只是因?yàn)樗鼈円话阒挥糜陲@示單個(gè)視圖,或重疊的視圖。框架布局常用作容器布局,因?yàn)樗话阒挥幸粋€(gè)子視圖(通常是另一個(gè)布局,用于組織多個(gè)視圖)。

  技巧:事實(shí)上,你會(huì)看到框架布局是作為你設(shè)計(jì)的任何布局資源的父布局來(lái)使用的。如果你在層級(jí)視圖工具(Hierarchy Viewer tool,一個(gè)很有用的調(diào)試你的程序布局的工具)創(chuàng)建你的程序,你會(huì)發(fā)現(xiàn)你設(shè)計(jì)的任何布局資源都被顯示在一個(gè)父布局中——一個(gè)框架布局。

  框架布局非常簡(jiǎn)單,這使得它們非常高效。它們可以在XML布局資源文件中定義,也可以通過(guò)Java代碼在程序中定義。框架布局中的一個(gè)子視圖總是被繪制到相對(duì)于屏幕的左上角上。如果存在多個(gè)子視圖,那么他們被按順序一個(gè)堆疊在另一個(gè)上面的方式繪制。這意味著第一個(gè)添加到框架布局的視圖將顯示在棧的底部,最后添加的視圖會(huì)顯示在最頂部。

  讓我們來(lái)看一個(gè)簡(jiǎn)單的例子。我們假設(shè)有一個(gè)框架布局大小調(diào)整到控制整個(gè)屏幕(換句話說(shuō),layout_width and layout_height屬性都設(shè)置為match_parent)。我們要添加三個(gè)子控件到這個(gè)框架布局:

  • 一個(gè)有湖面圖片的ImageView。
  • 一個(gè)在屏幕頂部顯示的TextView。
  • 一個(gè)在屏幕底部顯示的(使用layout_gravity屬性將TextView下沉到父布局的底部)TextView。

  下圖展示這種類型的布局在屏幕上會(huì)是什么樣:

  在XML資源文件中定義框架布局

  設(shè)計(jì)程序用戶界面最方便和可維護(hù)的方法是創(chuàng)建XML布局資源。這個(gè)方法極大地簡(jiǎn)化了UI設(shè)計(jì)過(guò)程,將很多靜態(tài)創(chuàng)建和用戶界面控件的布局以及控件屬性的定義移到XML中去,取代了寫(xiě)代碼。

  XML布局資源必須存儲(chǔ)在/res/layout項(xiàng)目目錄下。讓我們看看前一節(jié)介紹的框架布局。同樣地,這個(gè)屏幕基本上就是一個(gè)有三個(gè)子視圖的框架布局:一個(gè)充滿整個(gè)屏幕的圖片,兩個(gè)文本控件繪制在它上面,每一個(gè)文本控件都是默認(rèn)透明背景。這個(gè)布局資源文件命名為/res/layout/framed.xml,在XML中如下定義:

<?xml version="1.0" encoding="utf-8"?>
 <FrameLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:layout_width
="fill_parent" Android:layout_height="fill_parent">
 
<ImageView Android:id="@+id/ImageView01" Android:layout_height="fill_parent"
Android:layout_width
="fill_parent" Android:src="@drawable/lake"
Android:scaleType
="matrix"></ImageView>
 <TextView Android:layout_width="fill_parent"
Android:layout_height
="wrap_content"
Android:textColor
="#000"
Android:textSize
="40dp"
Android:text
="@string/top_text" />
 
<TextView Android:layout_width="fill_parent"
Android:layout_height
="wrap_content"
Android:text
="@string/bottom_text"
Android:layout_gravity
="bottom" Android:gravity="right"
Android:textColor
="#fff" Android:textSize="50dp" /> </FrameLayout>

it知識(shí)庫(kù)Android用戶界面設(shè)計(jì):框架布局,轉(zhuǎn)載需保留來(lái)源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 余姚市| 靖西县| 台东县| 高密市| 朝阳县| 潜江市| 邵阳市| 峨眉山市| 锡林浩特市| 黄平县| 三穗县| 陈巴尔虎旗| 伊川县| 郁南县| 沾化县| 申扎县| 富阳市| 淮南市| 广水市| 新平| 星座| 垣曲县| 汽车| 岳池县| 兴文县| 开原市| 新营市| 伊通| 醴陵市| 塔城市| 大足县| 桃园市| 平舆县| 水富县| 白银市| 七台河市| 红河县| 石渠县| 武功县| 万山特区| 泾阳县|