Android学习笔记06:线性布局LinearLayout

  线性布局在xml文件中使用来定义。

  线性布局可以分为水平和垂直方向的布局,可以通过android:orientation来定义方向,android:orientation=“horizontal”表示水平方向,android:orientation=“vertical”表示垂直方向。

  android:layout_width表示控件的宽度,android_layout_height表示控件的高度,其属性值有wrap_content、fill_parent、match_parent三种。其中,wrap_content表示填满父控件的空白,fill_parent表示大小刚好足够显示当前控件里的内容,match_parent与fill_parent作用是相同的。

  android:layout_weight表示控件的权重,描述了控件所占的比例有多大。所有的视图都有layout_weight值,其默认为零,表示需要显示多大的视图就占据多大的屏幕空间。若赋一个高于零的值,则将父视图中的可用空间分割,分割大小具体取决于每一个视图的layout_weight值以及该值在当前屏幕布局的整体layout_weight值和在其它视图屏幕布局的layout_weight值中所占的比率而定。

  下面是一个使用线性布局的实例。activity_main.xml源码如下:

Android_LinearLayout实例
  1 <LinearLayout 
  2     xmlns:android="http://schemas.android.com/apk/res/android"
  3     android:orientation="vertical"
  4     android:background="#FFFFFF"
  5     android:layout_width="match_parent"
  6     android:layout_height="match_parent" >
  7     
  8     
  9     <LinearLayout 
 10     android:orientation="horizontal"
 11     android:background="#FFFFFF"
 12     android:layout_width="match_parent"
 13     android:layout_height="wrap_content" >
 14     
 15         <EditText
 16         android:id="@+id/mEditText"
 17         android:inputType="number"
 18         android:layout_width="match_parent"
 19         android:layout_height="wrap_content"    >
 20         EditText>
 21         
 22     LinearLayout>
 23     
 24     
 25     <LinearLayout 
 26     android:orientation="horizontal"
 27     android:background="#FFFFFF"
 28     android:layout_width="match_parent"
 29     android:layout_height="wrap_content"  >
 30     
 31         <Button 
 32         android:id="@+id/mButton_mc"
 33         android:text="@string/mc"
 34         android:layout_weight="1"
 35         android:layout_width="0dip"
 36         android:layout_height="wrap_content"    >            
 37         Button>
 38         
 39         <Button 
 40         android:id="@+id/mButton_mPlus"
 41         android:text="@string/mPlus"
 42         android:layout_weight="1"
 43         android:layout_width="0dip"
 44         android:layout_height="wrap_content"    >            
 45         Button>
 46         
 47         <Button 
 48         android:id="@+id/mButton_mMinus"
 49         android:text="@string/mMinus"
 50         android:layout_weight="1"
 51         android:layout_width="0dip"
 52         android:layout_height="wrap_content"    >            
 53         Button>
 54         
 55         <Button 
 56         android:id="@+id/mButton_mr"
 57         android:text="@string/mr"
 58         android:layout_weight="1"
 59         android:layout_width="0dip"
 60         android:layout_height="wrap_content"    >            
 61         Button>
 62         
 63     LinearLayout>
 64     
 65     
 66     <LinearLayout 
 67     android:orientation="horizontal"
 68     android:background="#FFFFFF"
 69     android:layout_width="match_parent"
 70     android:layout_height="wrap_content"    >
 71         
 72         <Button 
 73         android:id="@+id/mButton_C"
 74         android:text="@string/C"
 75         android:layout_weight="1"
 76         android:layout_width="0dip"
 77         android:layout_height="wrap_content"    >            
 78         Button>
 79         
 80         <Button 
 81         android:id="@+id/mButton_PlusAndMinusLog"
 82         android:text="@string/PlusAndMinusLog"
 83         android:layout_weight="1"
 84         android:layout_width="0dip"
 85         android:layout_height="wrap_content"    >            
 86         Button>
 87         
 88         <Button 
 89         android:id="@+id/mButton_DivisionLog"
 90         android:text="@string/DivisionLog"
 91         android:layout_weight="1"
 92         android:layout_width="0dip"
 93         android:layout_height="wrap_content"    >            
 94         Button>
 95         
 96         <Button 
 97         android:id="@+id/mButton_MultiplicationLog"
 98         android:text="@string/MultiplicationLog"
 99         android:layout_weight="1"
100         android:layout_width="0dip"
101         android:layout_height="wrap_content"    >
102         Button>  
103           
104     LinearLayout>
105     
106     
107     <LinearLayout 
108     android:orientation="horizontal"
109     android:background="#FFFFFF"
110     android:layout_width="match_parent"
111     android:layout_height="wrap_content"    >
112             
113         <Button 
114         android:id="@+id/mButton_Number7"
115         android:text="@string/Number7"
116         android:layout_weight="1"
117         android:layout_width="0dip"
118         android:layout_height="wrap_content"    >            
119         Button>
120         
121         <Button 
122         android:id="@+id/mButton_Number8"
123         android:text="@string/Number8"
124         android:layout_weight="1"
125         android:layout_width="0dip"
126         android:layout_height="wrap_content"    >            
127         Button>
128         
129         <Button 
130         android:id="@+id/mButton_Number9"
131         android:text="@string/Number9"
132         android:layout_weight="1"
133         android:layout_width="0dip"
134         android:layout_height="wrap_content"    >            
135         Button>
136         
137         <Button 
138         android:id="@+id/mButton_SubtractionLog"
139         android:text="@string/SubtractionLog"
140         android:layout_weight="1"
141         android:layout_width="0dip"
142         android:layout_height="wrap_content"    >
143         Button>
144         
145     LinearLayout>
146     
147     
148     <LinearLayout 
149     android:orientation="horizontal"
150     android:background="#FFFFFF"
151     android:layout_width="match_parent"
152     android:layout_height="wrap_content"    >
153             
154         <Button 
155         android:id="@+id/mButton_Number4"
156         android:text="@string/Number4"
157         android:layout_weight="1"
158         android:layout_width="0dip"
159         android:layout_height="wrap_content"    >            
160         Button>
161         
162         <Button 
163         android:id="@+id/mButton_Number5"
164         android:text="@string/Number5"
165         android:layout_weight="1"
166         android:layout_width="0dip"
167         android:layout_height="wrap_content"    >            
168         Button>
169         
170         <Button 
171         android:id="@+id/mButton_Number6"
172         android:text="@string/Number6"
173         android:layout_weight="1"
174         android:layout_width="0dip"
175         android:layout_height="wrap_content"    >            
176         Button>
177         
178         <Button 
179         android:id="@+id/mButton_AdditionLog"
180         android:text="@string/AdditionLog"
181         android:layout_weight="1"
182         android:layout_width="0dip"
183         android:layout_height="wrap_content"    >
184         Button>
185         
186     LinearLayout>  
187     
188     
189     <LinearLayout 
190     android:orientation="horizontal"
191     android:background="#FFFFFF"
192     android:baselineAligned="false"
193     android:layout_width="match_parent"
194     android:layout_height="wrap_content"    >
195      
196         
197         <LinearLayout 
198         android:orientation="vertical"
199         android:background="#FFFFFF"
200         android:layout_weight="3"
201         android:layout_width="0dip"
202         android:layout_height="wrap_content"    >
203         
204             
205             <LinearLayout 
206             android:orientation="horizontal"
207             android:background="#FFFFFF"
208             android:layout_width="match_parent"
209             android:layout_height="wrap_content"    > 
210             
211                 <Button 
212                 android:id="@+id/mButton_Number1"
213                 android:text="@string/Number1"
214                 android:layout_weight="1"
215                 android:layout_width="0dip"
216                 android:layout_height="wrap_content"    >
217                 Button>  
218                 
219                 <Button 
220                 android:id="@+id/mButton_Number2"
221                 android:text="@string/Number2"
222                 android:layout_weight="1"
223                 android:layout_width="0dip"
224                 android:layout_height="wrap_content"    >
225                 Button>
226                 
227                 <Button 
228                 android:id="@+id/mButton_Number3"
229                 android:text="@string/Number3"
230                 android:layout_weight="1"
231                 android:layout_width="0dip"
232                 android:layout_height="wrap_content"    >
233                 Button>            
234                 
235             LinearLayout>
236             
237             
238             <LinearLayout 
239             android:orientation="horizontal"
240             android:background="#FFFFFF"
241             android:layout_width="match_parent"
242             android:layout_height="wrap_content"    >     
243             
244                 <Button 
245                 android:id="@+id/mButton_Number0"
246                 android:text="@string/Number0"
247                 android:layout_weight="2"
248                 android:layout_width="0dip"
249                 android:layout_height="wrap_content"    >
250                 Button>        
251                 
252                 <Button 
253                 android:id="@+id/mButton_Point"
254                 android:text="@string/Point"
255                 android:layout_weight="1"
256                 android:layout_width="0dip"
257                 android:layout_height="wrap_content"    >
258                 Button>
259                 
260             LinearLayout>  
261                     
262         LinearLayout> 
263         
264         
265         <LinearLayout 
266         android:background="#FFFFFF"
267         android:layout_weight="1"
268         android:layout_width="0dip"
269         android:layout_height="match_parent"    >
270         
271                 <Button 
272                 android:id="@+id/mButton_EqualLog"
273                 android:text="@string/EqualLog"
274                 android:layout_width="match_parent"
275                 android:layout_height="match_parent"    >
276                 Button>    
277         LinearLayout> 
278         
279     LinearLayout> 
280     
281 LinearLayout>

  效果图如图1所示:

图1:Android_LinearLayout实例

   activity_main.xml中的Button控件中的android:text定义了各个按钮所显示的文字,其中使用到的字符串全部都定义在res资源目录下的String.xml文件中,其源码如下:

Android_LinearLayout实例
 1 <resources>
 2   
 3     <string name="app_name">Android_LinearLayoutstring>
 4     <string name="hello_world">Hello world!string>
 5     <string name="menu_settings">Settingsstring>
 6     <string name="title_activity_main">MainActivitystring>
 7     
 8     <string name="mc">mcstring>
 9     <string name="mPlus">m+string>
10     <string name="mMinus">m-string>
11     <string name="mr">mrstring>
12     <string name="C">Cstring>
13     <string name="PlusAndMinusLog">+/-string>    
14     <string name="DivisionLog">/string>
15     <string name="MultiplicationLog">*string> 
16     <string name="Number7">7string>
17     <string name="Number8">8string>
18     <string name="Number9">9string>    
19     <string name="SubtractionLog">-string>      
20     <string name="Number4">4string>
21     <string name="Number5">5string>
22     <string name="Number6">6string>    
23     <string name="AdditionLog">+string>     
24     <string name="Number1">1string>
25     <string name="Number2">2string>
26     <string name="Number3">3string>    
27     <string name="Number0">0string>  
28     <string name="Point">.string>    
29     <string name="EqualLog">=string>    
30         
31 resources>

 

 

 

你可能感兴趣的:(Android学习笔记06:线性布局LinearLayout)