`

玩转Android---UI篇---RelativeLayout(相对布局)

阅读更多

RelativeLayout是一个在相对位置上显示子View元素的VeiwGroup,一个视图的位置,可以指定为相对于兄妹的元素(比如一个给定的与孙的左边或者下边)或者心爱那个对于RelativeLayout区域的位置(比如与底部对齐,剩下的中心)

 

一个RelativeLayout是一个非常强大使用的为设置用户界面的布局,因为它可以消除嵌套的视图组ViewGroup,如过你发现你用了几个嵌套的LinearLayout组,你可以替换为一个单独的RelativeLayout

 

1、开始一个新的工程,名字叫做HelloRelativeLayout

 

2、打开res/layout/main.xml文件并且插入如下信息

 

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
	<TextView  
		android:id="@+id/label"
	    android:layout_width="fill_parent" 
	    android:layout_height="wrap_content" 
	    android:text="Type here:"
    />
   	<EditText
   		android:id="@+id/entry"
   		android:layout_width="fill_parent"
   		android:layout_height="wrap_content"
   		android:background="@android:drawable/editbox_background"
   		android:layout_below="@id/label"
    />
    <Button
    	android:id="@+id/ok"
    	android:layout_width="wrap_content"
    	android:layout_height="wrap_content"
    	android:layout_below="@id/entry"
    	android:layout_alignParentRight="true"
    	android:layout_marginLeft="10dip"
    	android:text="OK"
    />
    <Button
    	android:layout_width="wrap_content"
    	android:layout_height="wrap_content"
    	android:layout_toLeftOf="@id/ok"
    	android:layout_alignTop="@id/ok"
    	android:text="Cancel"
    />
</RelativeLayout>
 3、注意到每一个android:layout_*属性,比如layout_below,layout_alignParentRightRight,和layout_toLeftOf,当用一个RelativeLayout的时候,你可以用这些属性来描述你想要的每个视图View的位置,每一个这些属性都定义一个不懂种类的相对位置,一些属性用到同级视图的资源ID来定义自己的相对位置。比如最后一个Button是被定义到位于被定义ID为ok的视图的左边和顶部对齐,

所有的layout布局属性都被定义在RelativeLayout.LayoutParams中


4、现在打开HelloLinearLayout.java并且确定它已经在onCreate()方法中加载了res/layout/main.xml布局文件
 public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
 
5、你可以看到如下的布局


 
  • 大小: 10.3 KB
分享到:
评论

相关推荐

    Android斗地主UI逻辑.rar

    在Android平台上开发一款斗地主游戏,UI(用户界面)逻辑是至关重要的组成部分,它不仅影响着用户体验,也直接影响到游戏的可玩性和流畅性。本压缩包"Android斗地主UI逻辑.rar"包含了实现这一目标所需的关键元素,...

    Android代码-CatchThePigeonAndroid.zip

    本篇文章将深度剖析名为“CatchThePigeonAndroid”的项目,揭示其背后的Android编程原理和技术细节。 一、项目概述 “CatchThePigeonAndroid”项目,顾名思义,很可能是一款基于Android平台的游戏应用,旨在捕捉...

    Android游戏源码三种不同难度的动漫拼图游戏源码.zip

    - 使用Android的布局管理器(如LinearLayout、RelativeLayout或ConstraintLayout)设计游戏主界面,包括菜单、选项和游戏区域。 - 考虑到触摸屏交互,UI设计必须适应手指操作,按钮大小和触摸反馈需合理设置。 - ...

    android案例 休闲游戏-疯狂大炮

    Android使用XML文件来定义布局,如LinearLayout、RelativeLayout或ConstraintLayout,用于组织和定位游戏界面的各个元素。 4. **图形与动画**:休闲游戏通常包含丰富的视觉效果。Android支持位图(Bitmap)和矢量...

    InteractiveStoryApp:玩转Android工具

    《InteractiveStoryApp:玩转Android工具》 在移动应用开发领域,Android平台因其开源特性以及广泛的应用场景,一直是开发者们的热门选择。本文将深入探讨基于Java语言开发的InteractiveStoryApp,帮助你掌握如何...

    Android五子棋

    开发者可能使用了相对布局(RelativeLayout)或约束布局(ConstraintLayout)来确保不同屏幕尺寸下的适配。棋盘通常会由一个二维数组表示,每个元素代表棋盘上的一个位置,用于存储当前棋子的状态。 游戏逻辑部分,...

    安卓开发-完美版的Android 拼图游戏APK和工程源码.zip

    在这里,开发者可能使用了LinearLayout、RelativeLayout或ConstraintLayout等布局管理器来组织界面元素,并通过监听事件来响应用户的操作。 此外,资源管理也是Android开发中的重要环节。Android应用通常会将图片、...

    超炫的Android军旗源代码

    了解Android四大组件(Activity、Service、BroadcastReceiver、ContentProvider)和布局管理器(如LinearLayout、RelativeLayout、ConstraintLayout等)是必要的。 2. **用户界面设计** 源代码中的界面设计采用了...

    一个简易的安卓相册APP Demo,字节跳动玩转客户端夏令营作业.zip

    这个压缩包文件“一个简易的安卓相册APP Demo,字节跳动玩转客户端夏令营作业.zip”包含了字节跳动在客户端夏令营活动中的一份作业,目的是让学生或参与者体验并学习如何构建一个简单的Android相册应用程序。...

    android 纸牌游戏

    本篇将深入探讨一个基于Android平台的21点纸牌游戏的开发过程,其中包括金币系统的实现,旨在帮助开发者了解如何构建这样的游戏并提升用户体验。 首先,21点纸牌游戏,又称为“Blackjack”,是一种广受欢迎的策略性...

    Android版俄罗斯方块

    开发者需要利用Android的布局管理器(如LinearLayout、RelativeLayout)来设计界面,并通过onTouchEvent()监听用户的触摸事件,实现方块的移动与旋转。 Service是Android中的后台服务,可以独立于用户界面运行。在...

    android开发的简单小游戏通水管

    在Android中,可以使用LinearLayout、RelativeLayout或ConstraintLayout等布局管理器来组织UI元素。 5. **动画与图形** Android提供了多种方式来实现动画,如帧动画(Frame Animation)和属性动画(Property ...

    Android应用源码猜猜红桃A.rar

    猜猜红桃A的源码中可能包含了各种布局,如LinearLayout、RelativeLayout或ConstraintLayout,用于组织和定位UI元素。 4. **资源管理**:Android应用中的图片、字符串、颜色等资源都存储在`res`目录下。开发者可能...

    android开发资料

    5. **布局设计**:XML布局文件用于定义用户界面,学习如何使用LinearLayout、RelativeLayout、ConstraintLayout等布局可以创建高效的UI。 6. **数据存储**:Android提供了SQLite数据库、SharedPreferences、内部/...

    通过学习实现的一个简易五子棋小游戏,主要学习Android中自定义View相关知识

    这些可以通过XML布局文件进行设计,使用`RelativeLayout`或`LinearLayout`等容器来组织各个组件。 8. **保存和加载游戏状态**:为了防止意外退出或用户需要离开游戏,可以实现保存和加载游戏状态的功能。这通常涉及...

    Android拼图

    3. **布局设计**:游戏界面的布局通常采用RelativeLayout或LinearLayout,通过XML文件定义。自定义View或ViewGroup也可以实现更复杂的交互效果,例如自定义一个可滑动的拼图面板。 4. **触摸事件处理**:Android的...

    【安卓开发】炸弹人(QQ堂)游戏源码

    2. **游戏菜单实现**:游戏的菜单界面通常包含开始游戏、设置、帮助等选项,实现这部分需要了解Android的布局管理器(如LinearLayout, RelativeLayout)以及自定义ViewGroup来构建复杂交互的界面。 3. **音效播放**...

    基于Android的俄罗斯方块的设计与实现课程设计报告.docx

    这涉及到Android的布局管理器,如LinearLayout、RelativeLayout和ConstraintLayout,以及自定义ViewGroup来创建独特的游戏区域。 3. **图形绘制**:游戏中的方块需要在屏幕上绘制,这需要用到Canvas类和Paint类来...

    安卓版俄罗斯方块

    【安卓版俄罗斯方块】是一款经典的休闲益智游戏,它基于传统的俄罗斯方块玩法,针对Android操作系统进行了适配和优化。这款安卓版的俄罗斯方块不仅保留了原版游戏的核心乐趣,还可能加入了新的功能和视觉效果,为...

Global site tag (gtag.js) - Google Analytics