Layout_weight属性只有在Linearlayout中才有效果。
该属性跟android:layout_width为wrap_content和match_parent有很大关系。
简单的说:
以如下布局为例:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="horizontal" > <TextView android:background="#ff0000" android:layout_width="**" android:layout_height="wrap_content" android:text="1" android:textColor="@android:color/white" android:layout_weight="1"/> <TextView android:background="#cccccc" android:layout_width="**" android:layout_height="wrap_content" android:text="2" android:textColor="@android:color/black" android:layout_weight="2" /> <TextView android:background="#ddaacc" android:layout_width="**" android:layout_height="wrap_content" android:text="3" android:textColor="@android:color/black" android:layout_weight="3" /> </LinearLayout>
若android:layout_width为wrap_content时,此时系统会给三个TextView 分配空间,此空间刚好包裹住各自的内容,然后系统会 根据所设置的layout_width数值,将剩余的空间按比例分配。
若android:layout_width为match_parent时,此时这样计算剩余空间:
剩余空间数=屏幕宽度-3x屏幕宽度=-2屏幕宽度
第一个textview所占空间:屏幕宽度+(1/6)x(-2屏幕宽度)=2/3个屏幕宽度。
第二个textview所占空间:屏幕宽度+(2/6)x(-2屏幕宽度)=1/3个屏幕宽度。
第三个textview所占空间:屏幕宽度+(3/6)x(-2屏幕宽度)=0个屏幕宽度
相关推荐
### Android布局文件的属性值解析 在Android应用开发过程中,布局文件是构建用户界面的核心组成部分。布局文件通过XML格式定义了界面元素的位置、大小及样式等属性,这些属性的合理设置直接影响到应用的用户体验和...
以下是对给定文件中提到的关键知识点的深入解析: ### 一、RelativeLayout布局 **RelativeLayout**是Android中的一种布局方式,允许控件基于其兄弟或父容器的位置进行定位。以下是一些关键的布局属性: - **...
ntent" android:layout_height="wrap_content" android:layout_weight="1" android:text="/" /> <LinearLayout android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="wrap...
查了下资料,说是要设置layout_weight属性 资料说得不是很清楚,也没仔细看,就去弄,结果越弄越混乱。 于是静下心来,自己写xml测试,发现如下。 如果LinearLayout是最外面的一层,它是不会弹出layout_weight属性的...
- `android:layout_weight`:当子视图需要按比例分配空间时,权重属性非常有用。它允许子视图占据剩余空间的一部分。 - `android:layout_margin`:用于设置视图与其他视图或边界之间的距离,有上、下、左、右四个...
1. `android:layout_weight`:与LinearLayout类似,可以用来分配行的权重,决定行占据的空间大小。 2. `android:baselineAligned`:默认为true,表示所有列的基线对齐。设为false则顶部对齐,常用于多行文本显示不...
- 通过`android:layout_weight="1"`来让每个按钮均分宽度,实现底部菜单的平均分配。 #### 三、Activity设计概述 接下来,我们来看一下与各个界面逻辑相关的Java类文件。 ##### 3.1 AddNew.java `AddNew.java`...
#### 一、RelativeLayout 属性解析 在Android应用开发中,`RelativeLayout`是一种非常重要的布局方式,通过它可以让开发者根据其他控件的位置来定位当前控件,实现更加灵活多变的界面布局。 ##### 相对于给定ID...
2. `layout_weight`:这是一个非常重要的属性,用于分配子视图的剩余空间。权重高的视图会占用更多的空间。 3. `gravity`:设置子视图在父视图中的对齐方式,如`center`、`left`、`right`、`top`、`bottom`等。 4. `...
- **android:layout_weight**:当布局宽度设为`match_parent`时,此属性决定EditText占据多少剩余空间。 - **android:gravity**:设置文本内容的对齐方式。 - **android:hint**:设置提示文本,在用户未输入任何内容...
- **android:layout_weight**:用于分配父布局中剩余空间的比例,与“wrap_content”搭配使用时,可以使子元素根据权重值动态分配空间。 - **android:layout_margin**:定义子元素边缘与其父布局边缘的间距。 #### ...
8. **android:layout_weight**:在RelativeLayout中,weight属性通常在结合LinearLayout使用时才有意义,但它可以帮助在多个视图之间分配空间。 在实际的开发过程中,我们可以通过XML布局文件来配置这些属性,或者...
通过`android:columnCount`和`android:rowCount`属性定义网格大小,`android:layout_column`和`android:layout_row`指定视图所在的列和行。 ```xml android:columnCount="2"> android:layout_row="0" ...
- 使用`android:layout_weight`属性实现弹性布局效果,让视图根据需要自动调整大小。 - 使用`<merge>`标签减少布局层次,优化性能。 7. **总结**: "Android代码(相对布局).zip"中的"Pro07(相对布局)"项目...
android:layout_weight="1" android:layout_marginStart="16dp" android:textSize="18sp" android:textStyle="bold" /> android:id="@+id/news_date" android:layout_width="wrap_content" android:layout...
然而,我们可以通过`android:layout_width`和`android:layout_height`设定固定尺寸,或者使用`android:layout_weight`来分配剩余空间。`android:layout_gravity`属性可以控制控件在单元格中的对齐方式,例如居中、靠...
此外,可以使用`android:layout_weight`属性分配子视图的相对大小,实现灵活的尺寸分配。 #### 2.2 `RelativeLayout` `RelativeLayout`允许子视图相对于彼此或父视图进行定位,提供了更复杂的布局选项。通过使用`...
在线性布局中,可以通过设置`android:layout_weight`属性来调整子视图的相对大小。权重越高,分配的空间越大。权重值可以是浮点数,如: ```xml android:layout_width="0dp" <!-- 必须设为0dp,权重才能生效 --> ...
- `android:layout_weight`:在TableRow中分配空间权重,用于决定各子View占据的相对宽度。 - `android:padding` 和 `android:margin`:分别控制行内元素的内边距和外边距,以调整元素间距。 4. **TableLayout与...