首页 > 代码库 > 深入LinearLayout
深入LinearLayout
1. LinearLayout布局的嵌套
2. 奇葩的 layout_weight 属性
布局是一种不可见的控件
代码如下
1 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 2 xmlns:tools="http://schemas.android.com/tools" 3 android:layout_width="match_parent" 4 android:layout_height="wrap_content" 5 android:background="#FF0000" 6 android:orientation="horizontal" 7 tools:context="first.pack.MainActivity$PlaceholderFragment" > 8 9 <LinearLayout10 android:layout_width="wrap_content"11 android:layout_height="wrap_content"12 android:layout_margin="20dp" //间隔13 android:orientation="vertical" 14 android:background="#880000">15 <TextView16 android:layout_width="wrap_content"17 android:layout_height="wrap_content"18 android:textSize="20sp" //文字大小19 android:text="first"/>20 <TextView21 android:layout_width="wrap_content"22 android:layout_height="wrap_content"23 android:textSize="20sp"24 android:text="second"/>25 </LinearLayout>26 27 <LinearLayout28 android:layout_width="wrap_content"29 android:layout_height="wrap_content"30 android:layout_margin="20dp"31 android:orientation="vertical" 32 android:background="#880000">33 <TextView34 android:layout_width="wrap_content"35 android:layout_height="wrap_content"36 android:textSize="20sp"37 android:text="third"/>38 <TextView39 android:layout_width="wrap_content"40 android:layout_height="wrap_content"41 android:textSize="20sp"42 android:text="fourth"/>43 </LinearLayout>44 45 </LinearLayout>
效果如下
2. 奇葩的 layout_weight 属性
使用条件:
代码如下:
1 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 2 xmlns:tools="http://schemas.android.com/tools" 3 android:layout_width="match_parent" 4 android:layout_height="wrap_content" 5 android:background="#FF0000" 6 android:orientation="horizontal" 7 tools:context="first.pack.MainActivity$PlaceholderFragment" > 8 9 <TextView10 android:layout_width="wrap_content"11 android:layout_height="wrap_content"12 android:background="#00FF00"13 android:textSize="20sp"14 android:text="first"/>15 <TextView16 android:layout_width="wrap_content"17 android:layout_height="wrap_content"18 android:background="#0000FF"19 android:textSize="20sp"20 android:text="secondddddd"/> 21 22 </LinearLayout>
加入Layout_weight属性之后
1 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 2 xmlns:tools="http://schemas.android.com/tools" 3 android:layout_width="match_parent" 4 android:layout_height="wrap_content" 5 android:background="#FF0000" 6 android:orientation="horizontal" 7 tools:context="first.pack.MainActivity$PlaceholderFragment" > 8 9 <TextView10 android:layout_width="wrap_content"11 android:layout_height="wrap_content"12 android:background="#00FF00"13 android:textSize="20sp"14 android:layout_weight="1" //加入weight属性15 android:text="first"/>16 <TextView17 android:layout_width="wrap_content"18 android:layout_height="wrap_content"19 android:background="#0000FF"20 android:textSize="20sp"21 android:layout_weight="1"22 android:text="secondddddd"/> 23 24 </LinearLayout>
两个红色的箭头长短平均分配的!!!!
但是这不能保证两个控件大小一样,因此将本身控件width设置为0dp就好了!!!
1 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 2 xmlns:tools="http://schemas.android.com/tools" 3 android:layout_width="match_parent" 4 android:layout_height="wrap_content" 5 android:background="#FF0000" 6 android:orientation="horizontal" 7 tools:context="first.pack.MainActivity$PlaceholderFragment" > 8 9 <TextView10 android:layout_width="0dp"11 android:layout_height="wrap_content"12 android:background="#00FF00"13 android:layout_weight="1"14 android:text="First"/>15 <TextView16 android:layout_width="0dp"17 android:layout_height="wrap_content"18 android:background="#0000FF"19 android:layout_weight="1"20 android:text="Second"/>21 22 </LinearLayout>
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。