技术与热点应用 您所在的位置:电子展览网 > 行业资讯 > 技术与热点应用 > 手机设计与制造

android布局之LinearLayout




关键词:

  声明:这是Android官方网站上的例子,添加了自己的理解,望各位大牛们多多指教

  Java代码

  1. main.xml

  2.

  3.

  4. < ?xml version="1.0" encoding="utf-8"? >

  5. < !--

  6. < LinearLayout >

  7. 线性版面配置,在这个标签中,所有元件都是按由上到下的排队排成的

  8. -- >

  9. < LinearLayout

  10. xmlns:android="http://schemas.android.com/apk/res/android"

  11. android:orientation="vertical"

  12. android:layout_width="fill_parent"

  13. android:layout_height="fill_parent" >

  14. < !-- android:orientation="vertical" 表示竖直方式对齐

  15. android:orientation="horizontal"表示水平方式对齐

  16. android:layout_width="fill_parent"定义当前视图在屏幕上

  17. 可以消费的宽度,fill_parent即填充整个屏幕。

  18. android:layout_height="wrap_content":随着文字栏位的不同

  19. 而改变这个视图的宽度或者高度。有点自动设置框度或者高度的意思

  20.

  21. layout_weight 用于给一个线性布局中的诸多视图的重要度赋值。

  22. 所有的视图都有一个layout_weight值,默认为零,意思是需要显示

  23. 多大的视图就占据多大的屏幕空 间。若赋一个高于零的值,则将父视

  24. 图中的可用空间分割,分割大小具体取决于每一个视图的layout_weight

  25. 值以及该值在当前屏幕布局的整体 layout_weight值和在其它视图屏幕布

  26. 局的layout_weight值中所占的比率而定。

  27. 举个例子:比如说我们在 水平方向上有一个文本标签和两个文本编辑元素。

  28. 该文本标签并无指定layout_weight值,所以它将占据需要提供的最少空间。

  29. 如果两个文本编辑元素每一个的layout_weight值都设置为1,则两者平分

  30. 在父视图布局剩余的宽度(因为我们声明这两者的重要度相等)。如果两个

  31. 文本编辑元素其中第一个的layout_weight值设置为1,而第二个的设置为2,

  32. 则剩余空间的三分之二分给第一个,三分之一分给第二个(数值越小,重要

第1页 第2页 第3页 第4页 第5页 第6页 

  声明:这是android官方网站上的例子,添加了自己的理解,望各位大牛们多多指教

  Java代码

  1. main.xml

  2.

  3.

  4. < ?xml version="1.0" encoding="utf-8"? >

  5. < !--

  6. < LinearLayout >

  7. 线性版面配置,在这个标签中,所有元件都是按由上到下的排队排成的

  8. -- >

  9. < LinearLayout

  10. xmlns:android="http://schemas.android.com/apk/res/android"

  11. android:orientation="vertical"

  12. android:layout_width="fill_parent"

  13. android:layout_height="fill_parent" >

  14. < !-- android:orientation="vertical" 表示竖直方式对齐

  15. android:orientation="horizontal"表示水平方式对齐

  16. android:layout_width="fill_parent"定义当前视图在屏幕上

  17. 可以消费的宽度,fill_parent即填充整个屏幕。

  18. android:layout_height="wrap_content":随着文字栏位的不同

  19. 而改变这个视图的宽度或者高度。有点自动设置框度或者高度的意思

  20.

  21. layout_weight 用于给一个线性布局中的诸多视图的重要度赋值。

  22. 所有的视图都有一个layout_weight值,默认为零,意思是需要显示

  23. 多大的视图就占据多大的屏幕空 间。若赋一个高于零的值,则将父视

  24. 图中的可用空间分割,分割大小具体取决于每一个视图的layout_weight

  25. 值以及该值在当前屏幕布局的整体 layout_weight值和在其它视图屏幕布

  26. 局的layout_weight值中所占的比率而定。

  27. 举个例子:比如说我们在 水平方向上有一个文本标签和两个文本编辑元素。

  28. 该文本标签并无指定layout_weight值,所以它将占据需要提供的最少空间。

  29. 如果两个文本编辑元素每一个的layout_weight值都设置为1,则两者平分

  30. 在父视图布局剩余的宽度(因为我们声明这两者的重要度相等)。如果两个

  31. 文本编辑元素其中第一个的layout_weight值设置为1,而第二个的设置为2,

  32. 则剩余空间的三分之二分给第一个,三分之一分给第二个(数值越小,重要

第1页 第2页 第3页 第4页 第5页 第6页 

  接上页

  33. 度越高)。

  34. -- >

  35. < LinearLayout

  36. android:orientation="horizontal"

  37. android:layout_width="fill_parent"

  38. android:layout_height="fill_parent"

  39. android:layout_weight="1" >

  40. < TextView

  41. android:text="red"

  42. android:gravity="center_horizontal"

  43. android:background="#aa0000"

  44. android:layout_width="wrap_content"

  45. android:layout_height="fill_parent"

  46. android:layout_weight="1"/ >

  47.

  48. < TextView

  49. android:text="green"

  50. android:gravity="center_horizontal"

  51. android:background="#00aa00"

  52. android:layout_width="wrap_content"

  53. android:layout_height="fill_parent"

  54. android:layout_weight="1"/ >

  55.

  56. < TextView

  57. android:text="blue"

  58. android:gravity="center_horizontal"

  59. android:background="#0000aa"

  60. android:layout_width="wrap_content"

  61. android:layout_height="fill_parent"

  62. android:layout_weight="1"/ >

  63.

  64. < TextView

  65. android:text="yellow"

  66. android:gravity="center_horizontal"

  67. android:background="#aaaa00"

  68. android:layout_width="wrap_content"

  69. android:layout_height="fill_parent"

  70. android:layout_weight="1"/ >

  71.

  72. < /LinearLayout >

  73.

  74. < LinearLayout

  75. android:orientation="vertical"

  76. android:layout_width="fill_parent"

  77. android:layout_height="fill_parent"

  78. android:layout_weight="2" >

  79.

  80. < TextView

  81. android:text="row one"

  82. android:textSize="15pt"

第1页 第2页 第3页 第4页 第5页 第6页 

  接上页

  83. android:layout_width="fill_parent"

  84. android:layout_height="wrap_content"

  85. android:layout_weight="1"/ >

  86.

  87. < TextView

  88. android:text="row two"

  89. android:textSize="15pt"

  90. android:layout_width="fill_parent"

  91. android:layout_height="wrap_content"

  92. android:layout_weight="1"/ >

  93.

  94. < TextView

  95. android:text="row three"

  96. android:textSize="15pt"

  97. android:layout_width="fill_parent"

  98. android:layout_height="wrap_content"

  99. android:layout_weight="1"/ >

  100.

  101. < TextView

  102. android:text="row four"

  103. android:textSize="15pt"

  104. android:layout_width="fill_parent"

  105. android:layout_height="wrap_content"

  106. android:layout_weight="1"/ >

  107.

  108. < /LinearLayout >

  109.

  110. < /LinearLayout >

  main.xml

  < ?xml version="1.0" encoding="utf-8"? >

  < !--

  < LinearLayout >

  线性版面配置,在这个标签中,所有元件都是按由上到下的排队排成的

  -- >

  < LinearLayout

  xmlns:android="http://schemas.android.com/apk/res/android"

  android:orientation="vertical"

  android:layout_width="fill_parent"

  android:layout_height="fill_parent" >

  < !-- android:orientation="vertical" 表示竖直方式对齐

  android:orientation="horizontal"表示水平方式对齐

  android:layout_width="fill_parent"定义当前视图在屏幕上

  可以消费的宽度,fill_parent即填充整个屏幕。

  android:layout_height="wrap_content":随着文字栏位的不同

  而改变这个视图的宽度或者高度。有点自动设置框度或者高度的意思

  layout_weight 用于给一个线性布局中的诸多视图的重要度赋值。

第1页 第2页 第3页 第4页 第5页 第6页 

  接上页

  所有的视图都有一个layout_weight值,默认为零,意思是需要显示

  多大的视图就占据多大的屏幕空 间。若赋一个高于零的值,则将父视

  图中的可用空间分割,分割大小具体取决于每一个视图的layout_weight

  值以及该值在当前屏幕布局的整体 layout_weight值和在其它视图屏幕布

  局的layout_weight值中所占的比率而定。

  举个例子:比如说我们在 水平方向上有一个文本标签和两个文本编辑元素。

  该文本标签并无指定layout_weight值,所以它将占据需要提供的最少空间。

  如果两个文本编辑元素每一个的layout_weight值都设置为1,则两者平分

  在父视图布局剩余的宽度(因为我们声明这两者的重要度相等)。如果两个

  文本编辑元素其中第一个的layout_weight值设置为1,而第二个的设置为2,

  则剩余空间的三分之二分给第一个,三分之一分给第二个(数值越小,重要

  度越高)。

  -- >

  < LinearLayout

  android:orientation="horizontal"

  android:layout_width="fill_parent"

  android:layout_height="fill_parent"

  android:layout_weight="1" >

  < TextView

  android:text="red"

  android:gravity="center_horizontal"

  android:background="#aa0000"

  android:layout_width="wrap_content"

  android:layout_height="fill_parent"

  android:layout_weight="1"/ >

  < TextView

  android:text="green"

  android:gravity="center_horizontal"

  android:background="#00aa00"

  android:layout_width="wrap_content"

  android:layout_height="fill_parent"

  android:layout_weight="1"/ >

  < TextView

  android:text="blue"

  android:gravity="center_horizontal"

  android:background="#0000aa"

  android:layout_width="wrap_content"

  android:layout_height="fill_parent"

  android:layout_weight="1"/ >

  < TextView

  android:text="yellow"

  android:gravity="center_horizontal"

第1页 第2页 第3页 第4页 第5页 第6页 

  接上页

  android:background="#aaaa00"

  android:layout_width="wrap_content"

  android:layout_height="fill_parent"

  android:layout_weight="1"/ >

  < /LinearLayout >

  < LinearLayout

  android:orientation="vertical"

  android:layout_width="fill_parent"

  android:layout_height="fill_parent"

  android:layout_weight="2" >

  < TextView

  android:text="row one"

  android:textSize="15pt"

  android:layout_width="fill_parent"

  android:layout_height="wrap_content"

  android:layout_weight="1"/ >

  < TextView

  android:text="row two"

  android:textSize="15pt"

  android:layout_width="fill_parent"

  android:layout_height="wrap_content"

  android:layout_weight="1"/ >

  < TextView

  android:text="row three"

  android:textSize="15pt"

  android:layout_width="fill_parent"

  android:layout_height="wrap_content"

  android:layout_weight="1"/ >

  < TextView

  android:text="row four"

  android:textSize="15pt"

  android:layout_width="fill_parent"

  android:layout_height="wrap_content"

  android:layout_weight="1"/ >

  < /LinearLayout >

  < /LinearLayout >

  感觉这种形式有点像div+css的方式布局,不过这种方式的灵活性和div+css还是有些不及,主要是那android:layout_weight的值如何去确定,而且采用的是数值越小,重要度越高的方式,分配起来还得好好计算一下。

  Java代码

  1. Views.java

  2.

  3.

  4. package com.cn.view;

  5.

  6. import android.app.Activity;

  7. import android.os.Bundle;

  8.

  9. public class Views extends Activity {

  10. /** Called when the activity is first created. */

第1页 第2页 第3页 第4页 第5页 第6页 

  接上页

  11. @Override

  12. public void onCreate(Bundle savedInstanceState) {

  13. super.onCreate(savedInstanceState);

  14. setContentView(R.layout.main);

  15. }

  16. }

  Views.java

  package com.cn.view;

  import android.app.Activity;

  import android.os.Bundle;

  public class Views extends Activity {

  /** Called when the activity is first created. */

  @Override

  public void onCreate(Bundle savedInstanceState) {

  super.onCreate(savedInstanceState);

  setContentView(R.layout.main);

  }

  }

  我使用的版本为1.5.欢迎朋友们讨论

第1页 第2页 第3页 第4页 第5页 第6页 

分享到:
收藏 打印
相关新闻
  • 没有相关信息!