學習android開發之路(一)頁面配置

來源:互聯網
上載者:User

標籤:height   AC   應用   style   not   absolute   推薦   方向   title   

Android頁面配置

1.Android頁面配置一共分為6種:

LinearLayout(線性布局)、RelativeLayout(相對布局)、TableLayout(表格版面配置)、FrameLayout(幀布局)、GridLayout(網格布局)、AbsoluteLayout(絕對布局)

常用的為:線性布局和相對布局

2.布局的特點

 FrameLayout幀布局

  • 布局特點:放入其中的所有元素都被放置在最左上的地區,而且無法為這些元素指定一個確切的位置,下一個子項目會重疊覆蓋上一個子項目
  • 應用情境:適合瀏覽單張圖片。

LinearLayout線性布局

  • 布局特點:放主要提供控制項水平或者垂直排列的模型,每個子組件 
    都是以垂直或水平的方式來線性排布.(預設是垂直)
  • 應用情境:最常用的布局方式

linearLayout中有一個重要的屬性 android:layout_weight=”1”,這個weight在垂直布局時,代表行距;水平的時候代表列寬;weight值越大就越大。

AbsoluteLayout絕對位置布局

  • 布局特點:採用座標軸的方式定位組件,左上方是(0,0)點,往右x軸遞增,往下Y軸遞增,組件定位屬性為android:layout_x和 android:layout_y來確定座標。
  • 應用情境:準確定位空間位置

由於Android手機的螢幕尺寸、解析度存在較大差異,使用AbsoluteLayout無法兼顧適配問題,所以該布局已經過時

RelativeLayout相對布局

  • 布局特點:為某一個組件為參照物,來定位下一個組件的位置的布局方式。
  • 應用情境:控制項之間存在相應關係(適配神器,推薦使用)

TableLayout表格版面配置

  • 布局特點:類似Html裡的Table.使用TableRow來布局,其中TableRow代表一行,TableRow的每一個視圖組件代表一個儲存格。
  • 應用情境:控制項之間存在相應關係。

這五個布局元素可以相互嵌套應用,做出美觀的介面。

3.布局的常用屬性

  • layout_width & layout_height { xxxpd,wrap_content,match_parent,}
  • layout_margin+方位 & padding+方位
  • layout_gravity & gravity

 wrap_content:相應視圖的寬和高就會被設定成所需的最小尺寸以適應視圖中的內容

match_parent:視圖的寬和高延伸至充滿整個父布局

margin和padding區別:margin外邊距,padding內邊距和html用法一樣

layout_gravity 和 gravity:用來確定View在Layout中的固定位置

layout_gravity 和 gravity區別:

gravity屬性:是對該view 內容的位置的設定。 比如一個button 上面的text. 你可以設定該text 在view的靠左,靠右等位置

layout_gravity 屬性:是用來設定該view相對與父view 的位置。 比如一個button 在Linearlayout裡,你可以通過設定該屬性把該button放在父布局Linearlayout靠左靠右等位置。

====================================================================================================================================

 

LinearLayout 

orientation:vertical(垂直排列)/horizontal(水平排列)

layout_weight :是線性布局(Linelayout)的一個獨特比例分配屬性。使用此屬性設定權重,然後按照比例對介面進行空間的分配,公式計算是:控制項寬度=控制項設定寬度+剩餘空間所佔百分比寬幅 

 

RelativeLayout

a. 相對於父空間

XML屬性 說明
layout_alignParentBottom 當前控制項底端與父控制項的底端對齊
layout_alignParentLeft 當前控制項左端與父控制項的左端對齊
layout_alignParentRight 當前控制項右端與父控制項的右端對齊
layout_alignParentTop 當前控制項上端與父控制項的上端對齊
layout_centerHorizontal 當前控制項位於父控制項的橫向中間位置(水平方向上的中間)
layout_centerVertical 當前控制項位於父控制項的縱向中間位置(平面上的正中間)
layout_centerInParent 當前控制項位於父控制項的縱橫向中間位置(垂直方向上的中間)

上述所有屬性的取值皆為boolean屬性:true、false。

b. 相對於給定控制項

XML屬性 說明
layout_above 使當前控制項位於給出id控制項的上方
layout_below 使當前控制項位於給出id控制項的下方
layout_toLeftOf 使當前控制項位於給出id控制項的左側
layout_toRightOf 使當前控制項位於給出id控制項的右側
layout_alignBottom 使當前控制項與給出id控制項的底部部重合
layout_alignLeft 使當前控制項與給出id控制項的左邊重合
layout_alignRight 使當前控制項與給出id控制項的右邊重合
layout_alignTop 使當前控制項與給出id控制項的頂部重合
layout_alignBaseline 使當前控制項的BaseLine與給出id控制項t的BaseLine重合

上述所有屬性的取值皆為給定控制項的id名,如下例子

//文本控制項@+id/tab_textview在控制項@+id/tab_imageview的下方<TextView    android:id="@+id/tab_textview"    android:layout_below="@+id/tab_imageview"    android:layout_width="wrap_content"    android:layout_height="wrap_content"      />

  

學習android開發之路(一)頁面配置

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.