Android零基礎入門第29節:善用TableLayout表格佈局,

bluepeach發表於2021-09-09

前面學習了線性佈局和相對佈局,線性佈局雖然方便,但如果遇到控制元件需要排列整齊的情況就很難達到要求,用相對佈局又比較麻煩,為此Android系統中提供了表格佈局。

                                              

一、認識TableLayout

表格佈局就是讓控制元件以表格的形式來排列控制元件,只要將控制元件放在單元格中,控制元件就可以整齊地排列,使用TableLayout標籤。

TableLayout繼承了 LinearLayout,因此它的本質依然是線性佈局管理器。每次向TableLayout中新增一個TableRow,該TableRow就是一個表格行,TableRow也是容器,因此它也可以不斷地新增其他元件,每新增一個子元件該表格就增加一列。如果直接向TableLayout中新增元件,那麼這個元件將直接佔用一行。

在表格佈局中,列的寬度由該列中最寬的那個單元格決定,整個表格佈局的寬度則取決於父容器的寬度(預設總是佔滿父容器本身)。

在表格佈局管理器中,可以為單元格設定如下3種行為方式。

Shrinkable:如果某個列被設為Shrinkable,那麼該列的所有單元格的寬度可以被收縮,以保證該表格能適應父容器的寬度。

Stretchable:如果某個列被設為Stretchable,那麼該列的所有單元格的寬度可以被拉伸,以保證元件能完全填滿表格空餘空間。

Collapsed:如果某個列被設為Collapsed,那麼該列的所有單元格會被隱藏。

TableLayout繼承了 LinearLayout,因此它完全可以支援LinearLayout所支援的全部XML屬性。除此之外,TableLayout還支援如下表所示的XML屬性和相關方法。

二、示例

接下來透過一個簡單的示例程式來學習TableLayout的使用用法。

同樣使用WidgetSample工程,繼續使用app/main/res/layout/目錄下的activity_main.xml檔案,在其中填充如下程式碼片段:

[程式碼]xml程式碼:

01

02

03

04

05

06

07

08

09

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

相關文章