`
独尊孤鹰
  • 浏览: 9182 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

用android LinearLayout和RelativeLayout实现精确布局【转】

阅读更多
先明确几个概念的区别:
padding margin都是边距的含义,关键问题得明白是什么相对什么的边距.
padding是控件的内容相对控件的边缘的边距.
margin是控件边缘相对父空间的边距.




android:gravity 属性是对该view 内容的限定.比如一个button 上面的text. 你可以设置该text 在view的靠左,靠右等位置.该属性就干了这个.
android:layout_gravity是用来设置该view中的子view相对于父view的位置.比如一个button 在linearlayout里,你想把该button放在靠左,靠右等位置就可以在linearlayout中通过该属性设置.

下面看布局文件及效果图
Java代码 
<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="horizontal" android:layout_width="fill_parent" 
    android:layout_height="wrap_content" android:gravity="center_vertical"> 
    <ImageView android:id="@+id/ivLogo" android:layout_width="50dp" 
        android:layout_height="50dp" android:src="@drawable/icon" 
        android:paddingLeft="5dp" /> 
    <RelativeLayout android:id="@+id/rl_name" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" android:gravity="right" 
        android:padding="10dp"> 
        <TextView android:id="@+id/tvApplicationName" 
            android:layout_width="wrap_content" android:layout_height="wrap_content" 
            android:textSize="16dp" /> 
    </RelativeLayout> 
    <RelativeLayout android:id="@+id/rl_score" 
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content" android:gravity="right" 
        android:padding="10dp"> 
        <TextView android:id="@+id/tvRating" android:layout_width="wrap_content" 
            android:layout_height="wrap_content" android:text="5.0" /> 
        <RatingBar android:id="@+id/ratingbar" android:layout_width="wrap_content" 
            android:layout_height="wrap_content" android:numStars="5" 
            style="?android:attr/ratingBarStyleSmall" android:layout_below="@id/tvRating" /> 
    </RelativeLayout> 
</LinearLayout> 




上面的布局文件是一个ListView中的list_item布局,在一个ListView中显示所有的APK资源,每个资源项显示图标,名称及评分。在listItem的最外层LinearLayout中加android:gravity="center_vertical",设定内容垂直居中显示。在id为rl_score的RelativeLayout中设定android:layout_width="fill_parent"来填充剩余空间;android:gravity="right"设定内容相对于rl_score右对齐;android:padding="10dp"设定RelativeLayout中的内容相对RelativeLayout的边缘的边距为10dp。
这个布局虽然简单,但却是经常用到的。

原文地址:http://zhangkun716717-126-com.iteye.com/blog/869039
分享到:
评论

相关推荐

    LinearLayout和RelativeLayout实现精确布局-简单版

    在创建简单版应用评价布局时,根据元素间的关系和对齐要求,灵活选择和组合使用这两种布局,可以实现精确且适应性强的界面设计。记得在实际项目中,结合使用其他布局(如ConstraintLayout)和设计原则,以提供最佳的...

    android LinearLayout与RelativeLayout混用

    4. **使用 Include 标签**:将LinearLayout和RelativeLayout定义为单独的XML布局文件,然后通过`&lt;include&gt;`标签在主布局中引用它们。这有助于代码复用和维护。 5. **使用 ConstraintLayout**:在Android Studio 2.2...

    Android应用的LinearLayout中嵌套RelativeLayout的布局用法

    LinearLayout和RelativeLayout是两种常见的布局管理器,它们各有特点,可以相互配合以实现复杂的设计需求。本文将深入探讨如何在LinearLayout中嵌套RelativeLayout,以及如何调整组件的位置,以满足特定的屏幕布局。...

    Android移动应用开发相对布局RelativeLayout的常用属性列表.pdf

    在实际开发中,开发者通常会结合使用LinearLayout、RelativeLayout以及其他布局,以达到最佳的性能和用户体验。通过熟练掌握RelativeLayout的各种属性,开发者可以创建出更具吸引力且用户友好的Android应用界面。...

    [毕设季 android开发]第三讲:Android的布局

    而"第三讲:Android的布局 20131218.pptx"很可能是详细的讲解材料,包含了关于LinearLayout和RelativeLayout的深入讲解,包括使用方法、属性详解以及最佳实践。 理解并熟练运用这些布局是Android开发的基础,也是...

    Android布局之RelativeLayout相对布局

    在实际开发中,`RelativeLayout`常与其他布局如`LinearLayout`或`FrameLayout`结合使用,通过`include`标签嵌套,以实现更复杂的布局结构。虽然`RelativeLayout`提供了高度的灵活性,但在处理大量控件或性能要求较高...

    界面布局之相对布局RelativeLayout(代码)

    相对布局(RelativeLayout)是Android SDK提供的一种布局方式,它允许视图组件相对于其他组件或布局的边缘进行定位,从而实现灵活的界面设计。在本教程中,我们将深入探讨相对布局及其在代码中的实现。 首先,相对...

    Android应用源码之12.RelativeLayout.zip

    这个"Android应用源码之12.RelativeLayout.zip"压缩包很可能是为了教学或研究目的,提供了一个使用RelativeLayout布局的实例代码。让我们深入探讨一下RelativeLayout及其在Android应用中的使用。 RelativeLayout是...

    android布局

    有时候,为了实现更复杂的布局效果,开发者也会将LinearLayout和RelativeLayout组合使用,或者利用其他布局,如ConstraintLayout。 **ConstraintLayout** 是Android Studio 3.0引入的新布局,它可以替代...

    Android 六大布局

    本文将详细介绍Android的六大布局:AbsoluteLayout、RelativeLayout、LinearLayout、GridLayout、FrameLayout以及TableLayout,帮助开发者更好地理解和应用这些布局来创建各种复杂的用户界面。 ** AbsoluteLayout *...

    Android AbsoluteLayout和RelativeLayout布局详解

    通常,为了实现跨设备的兼容性和良好的用户体验,开发者更倾向于使用LinearLayout、RelativeLayout、ConstraintLayout等其他布局,而不是AbsoluteLayout。尤其是随着Android设计规范的发展,如Material Design的...

    Android学习笔记14:相对布局管理器RelativeLayout

    通过阅读Android SDK中的源码,我们可以看到RelativeLayout是如何解析这些布局属性,并在屏幕上精确地放置视图的。工具如Android Studio的布局编辑器提供了可视化的方式来设计和预览Relative Layout,这对于初学者和...

    android界面布局

    绝对布局允许开发者精确地定义子视图的位置,通过设置`android:x`和`android:y`属性来确定视图的坐标。然而,由于这种方式依赖于特定的像素坐标,不适用于不同屏幕尺寸和密度的设备,因此在现代Android开发中已较少...

    Android 相对布局实例

    在Android开发中,布局管理器是构建用户界面的关键部分,其中相对布局...然而,对于更复杂的布局,可能需要结合使用其他布局管理器,如LinearLayout、GridLayoutManager或ConstraintLayout,以实现最佳的性能和灵活性。

    android 设置控件按宽:高=4:3显示

    在Android开发中,为了实现控件按照特定的比例,如4:3显示,开发者需要对布局进行精确控制。这种比例设置可以适用于多种类型的控件,包括ImageView用于显示图片,Button用于展示带文字的按钮,以及LinearLayout和...

    Android七种layout布局实例(可直接运行)

    本文将深入探讨五种基本的布局管理器:FrameLayout、LinearLayout、RelativeLayout、TableLayout以及TabLayout,同时也会提及GridView和ListView这两种常用的控件。每个布局都有其特定的用途和优势,理解并灵活运用...

    android_页面五大布局

    本文将详细介绍Android的五大布局:FrameLayout、LinearLayout、RelativeLayout、GridLayout和ConstraintLayout。 1. **FrameLayout**: FrameLayout是最基础的布局,它允许你在屏幕上放置一个单一的、位于左上角...

    android设计中用到的绝对布局

    因此,在实际开发中,通常推荐使用更灵活的布局方式,如LinearLayout、RelativeLayout、ConstraintLayout等。这些布局能够更好地处理不同屏幕尺寸和分辨率,且支持动态调整子视图的位置和大小,从而提高应用的可移植...

    Android五大基本布局demo

    本教程将深入探讨Android的五大基本布局:线性布局(LinearLayout)、相对布局(RelativeLayout)、帧布局(FrameLayout)、表格布局(TableLayout)以及约束布局(ConstraintLayout),并提供一个名为"layoutSample...

    Android六大布局详解

    以上代码展示了如何使用线性布局来实现一个简单的布局结构,其中包括了一个顶部的`RelativeLayout`和一个包含三个部分的横向`LinearLayout`。通过设置`android:layout_weight`属性,我们可以轻松地按照特定比例分配...

Global site tag (gtag.js) - Google Analytics