Android相对布局RelativeLayout详解

<TextView
        android:id="@+id/firstview"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="#ff0000"
        android:text="第一个Textview" />
    <TextView 
        android:id="@+id/second"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="#00ff00"
        android:text="第二个textview"
        android:layout_toRightOf="@id/firstview"
        />
      <TextView 
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="#00ff00"
        android:text="第三个textview"
        android:layout_below="@id/firstview"
        />
            <TextView 
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="#00ff00"
        android:text="第四个"
        android:layout_alignRight="@id/second"
        android:layout_below="@id/second"
        />

以上包含相对布局中几种简单的属性,截图如下

    <TextView
        android:id="@+id/firstview"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="#ff0000"
        android:text="hello"
        android:textSize="50sp" />
    <TextView 
        android:id="@+id/second"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="#0000ff"
        android:text="view"
        android:layout_alignBaseline="@id/firstview"
        android:layout_toRightOf="@id/firstview"
        />
android:layout_alignBaseline="@id/firstview"

上面这行代码是对其到基准线的意思,什么是基准线,基准线就相当于四线格中的第三条线。效果图如下

如图所示,那条绿色的线就是基准线

与父空间边缘对其

//android:layout_alignParentRight="true"

上一行代码的属性值只能为true或者false,因为一个控件他只能有一个父控件

执行该代码之后,hello就会到达屏幕 的右侧。

android:layout_centerInParent="true"//出现在父控件的中央位置
android:layout_centerHorizontal="true"//处于水平方向的中央位置上
android:layout_centerVertical="true"//垂直方向的

Android4.2新特性

//android:layout_alignEnd="@id/firstview"//对其控件的尾部或者start
<TextView 
        android:id="@+id/firstview"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="#00ff00"
        android:text="hello"
        />
	<TextView 
	    android:id="@+id/secondview"
	    android:layout_width="wrap_content"
	    android:layout_height="wrap_content"
	    android:background="#ff0000"
	    android:layout_below="@id/firstview"
	    android:layout_alignEnd="@id/firstview"
	    android:text="abc"
	    />
	    
	    
	    //android:layout_alignParentEnd="true"与父控件的尾部对其

Android登陆框布局

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:padding="15dp"
 >
	<TextView 
	    android:id="@+id/lableView"
	    android:layout_width="match_parent"
	    android:layout_height="wrap_content"
	    android:text="登录界面"
	    android:gravity="center"
	    
	    />
	<EditText 
	    android:id="@+id/usernameText"
	    android:layout_width="wrap_content"
	    android:layout_height="wrap_content"
	    android:layout_alignParentLeft="true"
	    android:layout_alignParentRight="true"
	    android:layout_below="@id/lableView"
	    android:hint="username"
	    />
	<EditText 
	    android:id="@+id/passwordText"
	    android:layout_width="wrap_content"
	    android:layout_height="wrap_content"
	    android:layout_alignRight="@id/usernameText"
	    android:layout_alignLeft="@id/usernameText"
	    android:layout_below="@id/usernameText"
	    android:hint="password"
	    android:inputType="textPassword"
	    />

	<Button 
	    android:id="@+id/cancelButton"
	    android:layout_width="wrap_content"
	    android:layout_height="wrap_content"
	    android:text="取消"
	    android:layout_below="@id/passwordText"
	    android:layout_alignParentRight="true"
	    />
	<Button 
	    android:id="@+id/okButton"
	    android:layout_width="wrap_content"
	    android:layout_height="wrap_content"
	    android:layout_alignBottom="@id/cancelButton"
	    android:layout_toLeftOf="@id/cancelButton"
	    android:text="确定"
	    />
</RelativeLayout>
时间: 2024-10-10 22:29:14

Android相对布局RelativeLayout详解的相关文章

Android学习Scroller(五)——详解Scroller调用过程以及View的重绘

MainActivity如下: package cc.ww; import android.os.Bundle; import android.widget.ImageView; import android.widget.ImageView.ScaleType; import android.widget.RelativeLayout; import android.widget.RelativeLayout.LayoutParams; import android.app.Activity;

Android 开发 之 Fragment 详解

作者 : 韩曙亮 转载请著名出处 : http://blog.csdn.net/shulianghan/article/details/38064191 1. Fragement 概述 Fragement 与 Activity 生命周期关系 : Fragement 嵌入到 Activity 组件中才可以使用, 其生命周期与 Activity 生命周期相关. -- stop 与 destroy 状态 : Activity 暂停 或者 销毁的时候, 其内部嵌入的所有的 Fragement 也会执行

Android事件传递机制详解及最新源码分析——ViewGroup篇

在上一篇<Android事件传递机制详解及最新源码分析--View篇>中,详细讲解了View事件的传递机制,没掌握或者掌握不扎实的小伙伴,强烈建议先阅读上一篇. 好了,废话还是少说,直奔主题,开始本篇的ViewGroup事件传递机制探索之旅. 依然从简单的Demo例子现象开始分析 新建安卓工程,首先自定义一个Button以及一个RelativeLayout,很简单,只是重写了主要与事件传递机制相关的方法,代码如下: 自定义WLButton类: 1 public class WLButton e

Android四大组件--Activity详解

Android四大组件--Activity详解 分类: android android应用android开发 本文的主要内容包括1.activity的建立.配置和使用:2.activity的跳转和传值:3.startActivityForResult:4.activity的生命周期. 1.activity的建立.配置和使用 Activity是一个应用中的组件,它为用户提供一个可视的界面,方便用户操作,比如说拔打电话.照相.发邮件或者是浏览地图等.每个activity会提供一个可视的窗口,一般情况

ANDROID L——Material Design详解(UI控件)

转载请注明本文出自大苞米的博客(http://blog.csdn.net/a396901990),谢谢支持! Android L: Google已经确认Android L就是Android Lollipop(5.0). 前几天发现Android5.0正式版的sdk已经可以下载了,而且首次搭载Android L系统的Nexus 6和 Nexus 9也即将上市. 所以是时候开始学习Android L了! 关于Android L如何配置模拟器和创建项目,如果大家有兴趣的话可以看看我之前的一篇文章: A

ANDROID L——Material Design详解(视图和阴影)

转载请注明本文出自大苞米的博客(http://blog.csdn.net/a396901990),谢谢支持! Android L: 昨天凌晨Google刚刚确认Android L就是Android Lollipop(5.0). Google之前就已经提前推出了Android L Developer Preview(开发者预览版)来帮助开发者更快的了解Android特性,而不久前也推出了64位的模拟器镜像,而且首次搭载Android L系统的Nexus 6和 Nexus 9也即将上市. 相信And

Android开发之WebView详解

概述: 一个显示网页的视图.这个类是你可以滚动自己的Web浏览器或在你的Activity中简单地显示一些在线内容的基础.它使用了WebKit渲染引擎来显示网页,包括向前和向后导航的方法(通过历史记录),放大和缩小,执行文本搜索等. 需要注意的是:为了让你的应用能够使用WebView访问互联网和加载网页,你必须添加Internet的权限在Android Manifest文件中: <uses-permission android:name="android.permission.INTERNE

Android屏幕适配问题详解

上篇-Android本地化资源目录详解 :http://www.cnblogs.com/stafen/p/3833048.html 单位: px(像素):屏幕上的点. in(英寸):长度单位. mm(毫米):长度单位. pt(磅):1/72英寸. dp/dip(与密度无关的像素):一种基于屏幕密度的抽象单位.在每英寸160点的显示器上,1dp = 1px,在大于160点的显示器上可能增大.一般用于位置和尺寸属性的单位. dpi:表示当前屏幕的密度. sp(与刻度无关的像素):主要用于字体大小单位

Android事件分发机制详解(2)----分析ViewGruop的事件分发

首先,我们需要 知道什么是ViewGroup,它和普通的View有什么区别? ViewGroup就是一组View的集合,它包含很多子View和ViewGroup,是Android 所有布局的父类或间接父类. 但ViewGroup也是一个View,只不过比起View,它可以包含子View和定义布局参数的功能. 现在,通过一个Demo演示Android中ViewGroup的事件分发机制. 首先我们来自定义一个布局,命名为MyLayout,继承自LinearLayout,如下 所示: public c