原文: http://hi.baidu.com/doyee/blog/item/9d42798bff980718c8fc7a82.html
LinearLayout有两个非常相似的属性:android:gravity与android:layout_gravity。他们的区别在于:android:gravity用于设置View组件的对齐方式,而android:layout_gravity用于设置Container组件的对齐方式。
举个例子,我们可以通过设置android:gravity="center"来让EditText中的文字在EditText组件中居中显示;同时我们设置EditText的android:layout_gravity="right"来让EditText组件在LinearLayout中居中显示。来实践以下:
正如我们所看到的,在EditText中,其中的文字已经居中显示了,而EditText组件自己也对齐到了LinearLayout的右侧。
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<EditText
android:layout_width="wrap_content"
android:gravity="center"
android:layout_height="wrap_content"
android:text="one"
android:layout_gravity="right"/>
</LinearLayout>
这两个属性也可以用于 Framlayout Textview 等等,表示的意思大同小异
而margin表示的是view的左边缘与parent view的左边缘的距离
margin一般用来描述控件间位置关系,而padding一般描述控件内容和控件的位置关系。
相关推荐
在Android开发中,理解并熟练运用`gravity`、`layout_gravity`、`padding`和`margin`是非常关键的,它们决定了视图(View)在布局(Layout)中的位置和内部元素的间隔。下面将详细阐述这四个概念的区别和用法。 ...
在Android开发中,布局(Layout)是构建用户界面的核心元素,它定义了应用程序屏幕上元素的排列方式和相互关系。Android提供了多种布局管理器,如LinearLayout、RelativeLayout、ConstraintLayout等,每种布局都有其...
- `android:layout_margin*`:设置该视图与其它视图之间的边距。 例如: ```xml <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:...
- 用途:与`android:gravity`不同,这个属性用于指定控件在父容器中的对齐方式。 - 示例:`android:layout_gravity="center"` - **android:textSize** - 用途:设置控件中文本的字体大小。 - 示例:`android:...
#### android:padding 和 android:layout_margin - **android:padding** 属性用于设置视图内容与视图边缘之间的间距。 - **android:layout_margin** 属性则用于设置视图与周围视图或容器边缘之间的间距。 例如: ...
- **android:layout_gravity**:指定视图在父容器中的位置。例如: - `"left"`:视图靠左边显示。 - `"right"`:视图靠右边显示。 - `"top"`:视图靠顶部显示。 - `"bottom"`:视图靠底部显示。 - `"center_...
本文档将详细介绍一系列常用的Android控件属性,包括布局间距(`margin`)、填充(`padding`)、对齐方式(如`gravity`、`layout_gravity`等)以及其他一些关键属性如`unselectedAlpha`等。通过这些属性的学习与应用...
9. `android:layout_margin` - 控件外部的边距,若只指定`android:layout_margin`,则所有边距相同,也可以单独指定如`android:layout_marginLeft`。 10. `android:singleLine` - 若设为“true”,则文本将限制在一...
- **android:layout_alignTop**, **android:layout_alignBottom**, **android:layout_alignLeft**, **android:layout_alignRight**, **android:layout_alignBaseline**:使当前 View 与其他 View 对齐。 - **android...
LinearLayout中有两个相似但不相同的属性:`android:gravity`和`android:gravity:layout_gravity`。前者影响布局内的所有子组件的对齐,后者影响整个LinearLayout在父布局中的位置。 `padding`和`margin`都是关于...
- **android:layout_margin**:定义子元素边缘与其父布局边缘的间距。 #### 示例代码解析 下面通过两个示例代码来具体说明线性布局的使用方法: **实现水平布局** ```xml xmlns:android=...
在Android开发中,创建带有图标的按钮是一种常见的需求,这可以使用户界面更加直观且易于操作。传统的Button组件虽然可以直接设置背景图来实现图标与文字的结合,但有时我们需要更灵活的布局方式。本文将介绍一种...
- `android:padding` 和 `android:margin`:分别控制行内元素的内边距和外边距,以调整元素间距。 4. **TableLayout与GridLayout的区别**:虽然两者都能实现二维布局,但TableLayout更注重表格形式,适合展示有...
- **`android:layout_margin`:** 用于设置视图与父容器或相邻视图之间的间距。 - **`android:layout_gravity`:** 控制视图在其父容器中的位置,可选择水平和垂直方向上的对齐方式。 #### 二、相对布局...
`android:padding`定义视图内部的空间,而`android:margin`定义视图与其父视图之间的空间。 5. **子视图约束**:每个子视图在LinearLayout中都有自己的布局属性,如`android:layout_width`和`android:layout_height...
android:layout_gravity="center" android:background="@drawable/selector_icon_choose_txt_bg" android:padding="@dimen/commom_margin_4" android:textSize="@dimen/commom_tv_size_12" android:textStyle=...
android:layout_gravity="center_horizontal" android:text="立即支付" android:onClick="onPayButtonClick"/> ``` 在对应的Activity中,需要为`onPayButtonClick`方法编写处理逻辑。 6. 最后,别忘了在...
`android:margin`则是视图与周围元素之间的距离,如`android:layout_marginLeft`设置左边的外边距。 **LayoutParams**:`android:layout_width`和`android:layout_height`定义视图的尺寸,可以是固定值(如dp)或`...
android:layout_margin="30dp" android:background="@drawable/bg_frame_descend_setting" android:gravity="center_horizontal" android:orientation="vertical" android:padding="15dip" > ``` 这里,`...