佈局Layouts之TableLayout表格佈局
TableLayout表格佈局
TableLayout是指將子元素的位置分配到行或列中。Android的一個TableLayout有許多TableRow組成,每一個TableRow都會定義一個Row。TableLayout容器不會顯示Row,Column,及Cell的邊框線,每個Row擁有0個或多個Cell,每個Cell擁有一個View物件。
在使用tablelayout時,應注意每一個cell的寬度。
我們下面通過XML佈局和Java程式碼佈局兩種方式分別舉例:
一、XML方式佈局
1、建立一個空白Activity
2、開啟“res/layout/activity_main.xml”
(1)第①部分
<?xml version="1.0" encoding="utf-8" ?>,每個XML文件都由XML序言開始,在前面的程式碼中的第一行便是XML序言,<?xml version="1.0">。這行程式碼表示按照1.0版本的XML規則進行解析。encoding = "utf-8"表示此xml檔案採用utf-8的編碼格式。編碼格式也可以是GB2312。
(2)第②部分
<TableLayout…… 表示採用表格佈局管理器。
(3)第③部分
android:layout_width="match_parent" android:layout_height="match_parent"
(4)第④部分
android:stretchColumns="1"表示表格佈局管理器中第2列內元件可以擴充到的有可用空間。
3、插入1行TableRow、1個文字TextView、1個TextEdit。
4、開啟“res/layout/activity_main.xml”檔案,修改成以下程式碼。
(1)第①部分
<TableRow></TableRow>代表一行,可以在其中填充控制元件。
(2)第②部分
新增一個標籤<TextView>。
(3)第③部分
新增一個編輯框<EditText>
5、依次再插入2行<TableRow>、密碼標籤<TextView>、密碼編輯框<EditText>、2個按鈕Button:註冊、登入。
程式碼如下:
<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:stretchColumns="1" >
<TableRow
android:id="@+id/tableRow1"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<TextView
android:id="@+id/tvUserName"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/username" />
<EditText
android:id="@+id/etUserName"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ems="10" >
<requestFocus />
</EditText>
</TableRow>
<TableRow
android:id="@+id/tableRow2"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<TextView
android:id="@+id/tvPassWord"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/password"
android:padding="3dp" />
<EditText
android:id="@+id/etPassword"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:inputType="textPassword"
android:padding="3dp"
android:scrollHorizontally="true" />
</TableRow>
<TableRow
android:id="@+id/tableRow3"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<Button
android:id="@+id/button1"
android:text="@string/regist" />
<Button
android:id="@+id/button2"
android:text="@string/login" />
</TableRow>
</TableLayout>
6、最終顯示效果如下:
附:表格佈局常見屬性介紹
(1)TableLayout行列數的確定 TableLayout的行數由開發人員直接指定,即有多少個TableRow物件(或View控制元件),就有多少行。
TableLayout的列數等於含有最多子控制元件的TableRow的列數。如第一TableRow含2個子控制元件,第二個TableRow含3個,第三個TableRow含4個,那麼該TableLayout的列數為4.
(2)TableLayout可設定的屬性詳解 TableLayout可設定的屬性包括全域性屬性及單元格屬性。
a)全域性屬性也即列屬性,有以下3個引數:
android:stretchColumns 設定可伸展的列。該列可以向行方向伸展,最多可佔據一整行。
android:shrinkColumns 設定可收縮的列。當該列子控制元件的內容太多,已經擠滿所在行,那麼該子控制元件的內容將往列方向顯示。
android:collapseColumns 設定要隱藏的列。
示例:
android:stretchColumns="0" 第0列可伸展
android:shrinkColumns="1,2" 第1,2列皆可收縮
android:collapseColumns="*" 隱藏所有行
說明:列可以同時具備stretchColumns及shrinkColumns屬性,若此,那麼當該列的內容N多時,將“多行”顯示其內容。(這裡不是真正的多行,而是系統根據需要自動調節該行的layout_height)
b)單元格屬性,有以下2個引數:
android:layout_column 指定該單元格在第幾列顯示
android:layout_span 指定該單元格佔據的列數(未指定時,為1)
示例:
android:layout_column="1" 該控制元件顯示在第1列
android:layout_span="2" 該控制元件佔據2列
說明:一個控制元件也可以同時具備這兩個特性。
二、Java程式碼方式佈局
上面我們已經瞭解採用XML進行LinearLayout佈局,我們現在再來學習一下如何使用Java程式碼完成與之同樣功能。
Java程式碼方式暫略。
相關推薦
佈局Layouts之TableLayout表格佈局
TableLayout表格佈局 TableLayout是指將子元素的位置分配到行或列中。Android的一個TableLayout有許多TableRow組成,每一個TableRow都會定義一個
Android實現計算器佈局(四種佈局方式)之TableLayout表格佈局
表格佈局:tablelayout table佈局不支援跨行跨列,所以主要佈局的思想就是表格巢狀 效果 outline 之前一直到不知道怎麼用表格實現計算器的佈局,查資料的時候也一直在考慮跨行跨列來實現,網上說table佈局不
web前端開發之幾種佈局方式之響應式佈局
一理解幾種佈局的概念 1、靜態佈局(Static Layout) 即傳統Web設計,對於PC設計一個Layout,在螢幕寬高有調整時,使用橫向和豎向的滾動條來查閱被遮掩部分; 意思就是不管瀏覽器尺寸具體是多少,網頁佈局就按照當時寫程式碼的佈局來佈置; 對於移動裝
安卓佈局之表格佈局(TableLayout)
概述: Tablelayout以行和列的形式對控制元件進行管理,每一行為一個TableRow物件,或一個View控制元件。 當為TableRow物件時,可在TableRow下新增子控制元件,預設情況下,每個子控制元件佔據一列。 有多少個子控制元件就有多少列;當為View時
Android佈局之表格佈局
表格佈局(Tablelayout) 簡介: Tablelayout類以行和列的形式對控制元件進行管理,每一行為一個TableRow物件,或一個View控制元件。 &nbs
微信小程式之獲取後臺動態資料Gird表格佈局display:grid
在工作中常用的就是flex佈局和grid佈局了,因為本人對grid佈局不是很熟練,這次主要是想模擬獲取後臺的動態資料來動態的設定表格佈局,算是一個簡單的嘗試,畢竟之前沒有用過。分享一下。 (一)實現效果 跟我上一篇文章微信小程式之獲取後臺動態資料表格佈局dis
android之tableLayout佈局之一
// wc和fp兩個屬性,是佈局用的,wc表示wrap_content剛好包含內容,FP則是填充滿父容器 private final int WC = ViewGroup.LayoutParams.WRAP_CONTENT; private final int FP = ViewGro
android studio 介面佈局之表格佈局
<?xml version="1.0" encoding="utf-8"?> <TableLayout xmlns:android="http://schemas.android.c
CSS之頁面佈局之五(表格佈局)完結
表格佈局也是非常常見的佈局方式。就是指定CSS表格式樣。 這與HTML的<table>元素不同,<table>元素多用於頁面上顯示錶格資料。而表格佈局是指通過CSS表格式樣將頁面顯示部分表格化顯示出來。 實現方式就是先將HTML端的元素用<di
Android--(8)--詳解表格佈局(TableLayout)
TableLayout佈局的特點:沒加入一個TableRow就表示表格新增一行,然後TableRow中每新增一個控制元件就表示該行加入一列;TableRow中的空間不能指定寬度; 在表格佈局中:
android 使用TableLayout 實現佈局自動拉伸寬度 LinearLayout中元素按比例分配寬度
TableLayout 實現佈局自動拉伸寬度 <TableLayout android:layout_width="match_parent" android:layout_height="match_parent" android:
html表格佈局
表格佈局 <table border = "1" width= "600px" style="margin: auto"> <tr>
android之路,佈局方式
android佈局方式—Linearlayout 線性佈局是最常見的佈局方式,它可以分為水平佈局和垂直佈局。 Android:layout_width寬度設定,有兩種常見的值fill_parent填充父容器,wrap_content包裹內容 Android:layout_height設定
web前端之響應式佈局,你必須要知道的
一、前言 響應式Web設計可以讓一個網站同時適配多種裝置和多個螢幕,可以讓網站的佈局和功能隨使用者的使用環境(螢幕大小、輸入方式、裝置/瀏覽器能力)而變化。本文主要介紹一些響應式佈局容易忽略但又很重要的知識點。 二、視口 移動前端中常說的 viewport (視口)就是瀏覽器中用於呈現網
CSS 小結筆記之解決flex佈局邊框對不齊 CSS 小結筆記之伸縮佈局 (flex)
在使用flex 進行伸縮佈局的時候,經常會給子盒子設定邊框,這時經常會出現上下邊框對不齊的情況。本篇文章來探討並解決這個問題。 具體出現的問題如下圖所示 具體程式碼如下 <!DOCTYPE html> <html lang="en"> <head
Android之RecyclerView多佈局
做一個專案的主頁面的時候,想要它呈現出來的效果,不單一,更豐富那就要使用多佈局來展現出來,那麼就要思考一個問題。他呈現的是多個佈局,怎麼才能展現出來不同的佈局?邏輯很簡單,通過設定幾個flag,來表示這些佈局當前顯示的是哪個佈局,接下來,和程式碼結合瞭解一下: 第一部分:有幾個佈局就寫幾個fla
Android複習之旅--常用佈局
作為菜鳥,以下只是總結了一些佈局中的屬性和一些不成熟的見解,並沒有對各種佈局進行更高階更詳細的分析,而且我也不會。後面倒有一個大神stormzhang對Android佈局方式優化的博文,大家可以去看看。 對於Android的佈局方式,其實常用到的佈局也就三種(LinearLayout
微信小程式之view動態佈局
wxml <view class='main'> <view wx:for="{{long}}" wx:key="*this" class='items'> <view class='il'>{{item[0].acmonth}}</
Android佈局優化之merge標籤詳解
我們都知道View的繪製流程需要經歷measure、layout、draw這個三個過程,如果佈局巢狀層次比較深的話,每一步都需要進行遍歷所有子View進行對應的measure、layout、draw過程,由此就會降低繪製效率,巢狀越多,耗時就越多;其實不光光只會影響view的繪製效率,同
GUI之流式佈局管理器
1.流式佈局管理器——FlowLayout,最簡單的佈局管理器,當你向容器新增元件時,會按照從左到右放置。到達邊界時,會跳轉到下一行。 FlowLayout()如果不進行設定,元件會預設居中對齊,水平,垂直間距預設5個單位。 FlowLayout(int align)指定容器的對齊方式,水平