1. 程式人生 > >頁面的五種佈局以及巢狀(舊的基礎知識)

頁面的五種佈局以及巢狀(舊的基礎知識)

轉載地址: http://blog.csdn.net/phenixyf/article/details/51362652

因為學習比較晚,我用的相關版本為SDK4.1、eclipse4.2,而自己看的教材都是低版本的,這造成了細節上的不同,有時候給學習造成了不小的困擾,不過這樣也好,通過解決問題獲得的知識理解更加深刻一點,這篇文章就是因為版本不同這個原因由來的。

        使用上面說的版本新建一個Android專案,然後開啟main.xml檔案,注意看程式碼:

  1. <RelativeLayoutxmlns:android="http://schemas.android.com/apk/res/android"
  2.     xmlns:tools="http://schemas.android.com/tools"
  3.     android:layout_width="match_parent"
  4.     android:layout_height="match_parent">
  5.     <TextView
  6.         android:layout_width="wrap_content"
  7.         android:layout_height="wrap_content"
  8.         android:layout_centerHorizontal="true"
  9.         android:layout_centerVertical
    ="true"
  10.         android:text="@string/hello_world"
  11.         tools:context=".Main"/>
  12. </RelativeLayout>

        RelativeLayout,這個就是五種佈局的其中之一,而大多數教材上面講的都是LinearLayout佈局,佈局的不同造成模擬機介面顯示的不同,為了避免再次困然,先把五種佈局都瞭解一下吧。

        五個佈局物件:RelativeLayout、LinearLayout、TableLayout、FrameLayout、AbsoulteLayout。

        佈局一:

        相對佈局RelativeLayout,定義各控制元件之間的相對位置關係,通過位置屬性和各自的ID配合指定位置關係,在指定位置關係時引用的ID必須在引用之前先被定義,否則將出現異常。

        layout/main.xml的程式碼

  1. <RelativeLayoutxmlns:android="http://schemas.android.com/apk/res/android"
  2.     xmlns:tools="http://schemas.android.com/tools"
  3.     android:layout_width="match_parent"
  4.     android:layout_height="match_parent">
  5.     <TextView
  6.         android:id="@+id/firstText"
  7.         android:layout_width="wrap_content"
  8.         android:layout_height="wrap_content"
  9.         android:background="#FFFFFF"
  10.         android:text="@string/first"/>
  11.     <TextView
  12.         android:id="@+id/secondText"
  13.         android:layout_width="wrap_content"
  14.         android:layout_height="wrap_content"
  15.         android:background="#FFFF00"
  16.         android:text="@string/second"/>
  17.     <TextView
  18.         android:id="@+id/thirdText"
  19.         android:layout_width="wrap_content"
  20.         android:layout_height="wrap_content"
  21.         android:background="#FF00FF"
  22.         android:text="@string/third"/>
  23.     <TextView
  24.         android:id="@+id/fourthText"
  25.         android:layout_width="wrap_content"
  26.         android:layout_height="wrap_content"
  27.         android:background="#00FFFF"
  28.         android:text="@string/fourth"/>
  29. </RelativeLayout>
        定義了4個文字標籤,各自的文字值(下面幾種佈局使用同樣的strings.xml檔案)
  1. <stringname="first">First</string>
  2. <stringname="second">Second</string>
  3. <stringname="third">Third</string>
  4. <stringname="fourth">Fourth</string>

        為了清晰展示,從一到四標籤的背景顏色為白黃紅綠,注意看上面沒有定義任何相對位置屬性,結果:


        都重合到一起了,這說明在沒有定義相對位置屬性的情況下,所有標籤都是相對於螢幕左上角佈局的,現在更改一下main.xml的程式碼:

  1. <RelativeLayoutxmlns:android="http://schemas.android.com/apk/res/android"
  2.     xmlns:tools="http://schemas.android.com/tools"
  3.     android:layout_width="match_parent"
  4.     android:layout_height="match_parent">
  5.     <TextView
  6.         android:id="@+id/firstText"
  7.         android:layout_width="wrap_content"
  8.         android:layout_height="wrap_content"
  9.         android:background="#FFFFFF"
  10.         android:text="@string/first"/>
  11.     <TextView
  12.         android:id="@+id/secondText"
  13.         android:layout_width="wrap_content"
  14.         android:layout_height="wrap_content"
  15.         android:background="#FFFF00"
  16.         android:layout_below="@id/firstText"
  17.         android:text="@string/second"/>
  18.     <TextView
  19.         android:id="@+id/thirdText"
  20.         android:layout_width="wrap_content"
  21.         android:layout_height="wrap_content"
  22.         android:background="#FF00FF"
  23.         android:layout_below="@id/secondText"
  24.         android:text="@string/third"/>
  25.     <TextView
  26.         android:id="@+id/fourthText"
  27.         android:layout_width="wrap_content"
  28.         android:layout_height="wrap_content"
  29. 相關推薦

    頁面佈局以及基礎知識

    轉載地址: http://blog.csdn.net/phenixyf/article/details/51362652 因為學習比較晚,我用的相關版本為SDK4.1、eclipse4.2,而自己看的教材都是低版本的,這造成了細節上的不同,有時候給學習造成了不小

    頁面佈局以及

    因為學習比較晚,我用的相關版本為SDK4.1、eclipse4.2,而自己看的教材都是低版本的,這造成了細節上的不同,有時候給學習造成了不小的困擾,不過這樣也好,通過解決問題獲得的知識理解更加深刻一點,這篇文章就是因為版本不同這個原因由來的。         使用上面說

    頁面佈局以及『Android系列八』

            因為學習比較晚,我用的相關版本為SDK4.1、eclipse4.2,而自己看的教材都是低版本的,這造成了細節上的不同,有時候給學習造成了不小的困擾,不過這樣也好,通過解決問題獲得的知識理解更加深刻一點,這篇文章就是因為版本不同這個原因由來的。        

    判斷程式碼中分隔符是否適當Properly nested Delimiters

    Java程式可以具有以下型別的分隔符:{,},(,),[和]。在正確的Java程式中,必須正確巢狀這些分隔符。每個左分隔符{,(和[作為開啟範圍,並考慮每個右邊界定}},和],關閉由相應左分隔符開啟的範圍。如果開啟的每個作用域最終都被關閉,則包含這些分隔符的字串具有正確的分隔

    shell條件if條件語句

    if condition then command1 command2 ... commandN fi 當然,也可以寫成一行(適用於終端命令提示符),像這樣: if test $[2*3] -eq $[1+5]; then echo 'The two numbers are

    python:序列_元組常用基礎知識

    err error: 指定 序列相加 針對 enumerate 最小值 推導式 ror 詳細如下: #元組:不可變列表,值不可修改,順序不可變 #元組有很多繼承序列的內容如下: #序列索引從0開始,從最後起則索引為-1 a = (1,8,3,9,5,6) b = (‘小

    學習python小記3基礎知識

    list: 建立:mates=['Micheal','Bob','Tracy'] 長度:len(mates) 新增:mates.append('  ')在尾端新增元素;mates.insert(num,' ')在指定位置新增元素 刪除:mates.pop()刪除尾

    phyon快速入門phyon基礎知識

    1、建立變數 a=10 b=2 c=a+b print(c) 2、判斷語句 # coding=utf-8 a = 90 if a > 80: print("nice") elif a > 60: print("normal")

    對軟體測試的認識理論基礎知識

    軟體測試基礎 1:什麼是軟體缺陷? a.軟體未達到產品設計規範表明的功能; b.軟體出現了產品設計規範指明不會出現的錯誤; c.軟體功能超出產品設計規範指明的範圍; d.軟體未達到產品設計規

    網路裝置簡單介紹網路基礎知識

    1 中繼器中繼器(repeater)是位於第一層(物理層)的網路裝置。隨著經過的線纜越來越長,訊號會變得越來越弱。中繼器的目的是在位元級別對網路訊號進行再生和重定時。從而使得他們能夠在網路上傳輸更長的距

    ASP.NET C#學習一環境基礎知識

    什麼是.NET? 是微軟推出的開發動態WEB應用程式的開發平臺 什麼是ASP.NET? 是.NET的一部分,通過.NET平臺來開發ASP.NET 什麼是IIS? 是微軟的WEB伺服器,開發人員可以通過

    如何利用隨機數產生驗證碼java基礎知識

    pen lean display void 生成 font length break cdd   以前我們通用的驗證碼都是五個不同的大小寫字母,那麽今天我就帶大家學習一下利用Java基礎怎麽生成驗證碼。首先我們應該有一個清晰的思路:首先定義一個固定長度的數組用來存儲需要

    Recycleview實現複雜頁面以上佈局 瀑布流 多佈局 scrollviewrecyclerView 顯示不全 滑動衝突 之進階終極篇 轉載

    =============================================================================================== 相信很多安卓開發的朋友,尤其是剛從事安卓開發的朋友, 當產品經理遞過來一張複雜頁面的

    在swiper中使用長頁面以及多個swiper時滑動卡頓、無法滑動的問題。

    前言 一般而言,swiper的應用場景大多是兩種: 滿屏切換的H5頁面 pc&移動端各種樣式的輪播圖 但有的時候,面對奇怪的需求,我們需要改變,甚至讓swiper實現一些無法實現的功能。 需求 近期接到一個h5專案,主體頭部

    Android佈局方式——LinearLayout、RelativeLayout、TableLayout....

    Android五種佈局方式——LinearLayout、RelativeLayout 、TableLayout.... Android使用XML宣告介面佈局 將程式的表現層和控制層分離 修改使用者介面時,無需更改程式的原始碼 視覺化工具設計使用者介面 Android五種佈

    js不同的遍歷 filter, map,foreach,every, some,

    efi reac undefined each 數組 log 是否 als filter var arr=[1,2,"a",2,4,1,4,"a",5,6,7,8,"aa","bb","c","a"] // foreach console.log(arr.forEach

    HTML+CSS 佈局方式

    已知佈局元素的高度,寫出三欄佈局,要求左欄、右欄寬度各為300px,中間自適應。 一、浮動佈局 <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <tit

    列表的增刪改查以及

    # li = ['alex',[1,2,3],'wusir','egon','女神','taibai'] # l1 = li[0] # print(l1) # l2 = li[1] # print(l2) # l3 = li[0:3] # print(l3) li = ['alex', 'wusi

    vue——37-路由-路由的children

    html <div id="app"> <router-link to="/account">Account</router-link> <r

    [html之rem]手機端頁面自適應解決方案—rem佈局進階版附原始碼示例

    手機端頁面自適應解決方案—rem佈局進階版(附原始碼示例) 一年前筆者寫了一篇 《手機端頁面自適應解決方案—rem佈局》,意外受到很多朋友的關注和喜歡。但隨著時間的推移,該方案已然過時,故為大家介紹一個目前我極力推薦使用的,更加完美的方案——rem佈局(進階版) 另