`
xusaomaiss
  • 浏览: 615630 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
社区版块
存档分类
最新评论

Android番外篇——XML layout与CSS

阅读更多

开发过Android应用的同学们都知道,Android工程-res-layout资源文件夹下存放着控制view布局的xml文件,我们可以同过 getViewById(int i)方法,从XML中构造view及其子类,在这个过程当中,XML文件中的一切layout属性也将被赋予这个view。当然,我们也能够通过代码来为 某一个view来设置layout,那是后话。通过对集中layout的分析和比较我发现,Android中AbsoluteLayout与CSS的绝对 定位很像,TableLayout与HTML的表格定位很像,而RelativeLayout与CSS的相对定位很像。前两者都已经是老生常谈了,我重点 比较一下最后一对,即RelativeLayout与CSS的相对定位(Position:relative)。先看一段XML:

<? xml version="1.0" encoding="utf-8" ?>
< RelativeLayout
    
xmlns:android ="http://schemas.android.com/apk/res/android"
    android:layout_width
="fill_parent"  android:layout_height ="fill_parent"
    android:orientation
="vertical" >
    
< RadioGroup  android:id ="@+id/radioGroup"
        android:layout_width
="fill_parent"  android:layout_height ="167px"
        xmlns:android
="http://schemas.android.com/apk/res/android"
        android:orientation
="vertical" >
        
< RadioButton  android:id ="@+id/Queen"
            android:layout_width
="wrap_content"
            android:layout_height
="wrap_content"  android:text ="@string/Queen" >
        
</ RadioButton >
        
< RadioButton  android:id ="@+id/Rook"
            android:layout_width
="wrap_content"
            android:layout_height
="wrap_content"  android:text ="@string/Rook" >
        
</ RadioButton >
        
< RadioButton  android:id ="@+id/Knight"
            android:layout_width
="wrap_content"
            android:layout_height
="wrap_content"  android:text ="@string/Knight" >
        
</ RadioButton >
        
< RadioButton  android:id ="@+id/Bishop"
            android:layout_width
="wrap_content"
            android:layout_height
="wrap_content"  android:text ="@string/Bishop" >
        
</ RadioButton >
    
</ RadioGroup >
    
< Button  android:id ="@+id/promotion"
        android:layout_width
="wrap_content"
        android:layout_height
="wrap_content"  android:layout_below ="@id/radioGroup"
        android:text
="@string/promote"   />
</ RelativeLayout >


上面一段XML,这是我为Android国际象棋游戏中的一个“兵行底线”编写的Custom Dialog(自定义对话框)的XML layout。在这里简单定义了几个控件(来自于android.wedget包)的一些位置和外观。可以看到,根节点RelativeLayout告诉 我们这是相对定位的布局,然后从上至下由一个RadioGroup(内含四个RadioButton)以及一个Button。通过最下面的 android:layout_below属性,告诉Button要在radioGroup下面呈现。

这是一个非常简单的属性,在relativeLayout下,还有很多属性,见下表

android:layout_above   Positions the bottom edge of this view above the given anchor view ID. 
android:layout_alignBaseline   Positions the baseline of this view on the baseline of the given anchor view ID. 
android:layout_alignBottom   Makes the bottom edge of this view match the bottom edge of the given anchor view ID. 
android:layout_alignLeft   Makes the left edge of this view match the left edge of the given anchor view ID. 
android:layout_alignParentBottom   f true, makes the bottom edge of this view match the bottom edge of the parent. 
android:layout_alignParentLeft   If true, makes the left edge of this view match the left edge of the parent. 
android:layout_alignParentRight   If true, makes the right edge of this view match the right edge of the parent. 
android:layout_alignParentTop   If true, makes the top edge of this view match the top edge of the parent. 
android:layout_alignRight   Makes the right edge of this view match the right edge of the given anchor view ID. 
android:layout_alignTop   Makes the top edge of this view match the top edge of the given anchor view ID. 
android:layout_below   Positions the top edge of this view below the given anchor view ID. 
android:layout_centerHorizontal   If true, centers this child horizontally within its parent. 
android:layout_centerInParent   If true, centers this child horizontally and vertically within its parent. 
android:layout_centerVertical   If true, centers this child vertically within its parent. 
android:layout_toLeft   Positions the right edge of this view to the left of the given anchor view ID. 
android:layout_toRight   Positions the left edge of this view to the right of the given anchor view ID. 


我相信大家的英文水平,这段从API上抄下来的东西我就不翻译了。但是可以看出来,只要设置上面的属性(不一定要全部),我们可以轻松规定一个控件 (View)的在相对定位下的显示行为。同时RelativeLayout是从layout上继承下来的,因此layout的很多属性也可以在这里使用, 包括:android:layout_height , android:layout_width ,

---------------------------------------------------------------
缥缈落花街 月圆月缺 望峦山平川 雁返君未还 怆然晚春残 忆天上人间
来自:
http://www.cnblogs.com/wodehuajianrui/archive/2008/07/04/1235623.html
分享到:
评论

相关推荐

    android反编译xml、layout

    `apktool`是一个开源的Android反编译工具,它能够帮助我们解包APK,反编译其中的XML和布局文件(layout),并提供重新打包和签名的功能,以实现对APK的分析和修改。 首先,`apktool`的基本使用流程如下: 1. **...

    Google.Android开发入门与实战第12章.Android综合案例一——RSS阅读器实例

    在本章节中,“Google.Android开发入门与实战第12章.Android综合案例一——RSS阅读器实例”主要聚焦于Android应用程序开发中的一个实际应用场景——构建一个RSS阅读器。这个实例将帮助初学者理解如何将Android SDK的...

    XmlLayout(unity3d ugui插件)

    XmlLayout是针对Unity3D引擎UGUI系统的插件,它引入了一种新的方式来设计和管理用户界面(UI)布局,灵感来源于HTML和CSS。这个插件的核心特性是使用XML格式来定义UI元素及其样式,这使得开发者可以更加灵活且高效地...

    Android单元测试初探——Instrumentation

    学习Android有一段时间了,虽然前段时间对软件测试有了一些了解,不过接触android的单元测试却是头一次。这几天在物流大赛上也用了不少时间,所以对于android的单元测试没有太深入的研究,所以先写个基本入门吧!...

    IOS应用源码——XML解析.zip

    IOS应用源码——XML解析.zip

    AndroidStudio————实战演练——仿美团外卖菜单

    在本项目中,"AndroidStudio————实战演练——仿美团外卖菜单"是一个专注于使用Android Studio开发的应用程序实战案例,目标是创建一个类似于美团外卖的菜单功能。这个项目涵盖了多个Android开发的关键知识点,...

    即用即查——XML数据标记语言参考手册

    《即用即查——XML数据标记语言参考手册》是一本专为XML技术的学习者和实践者准备的详尽参考资料,由左伟明编著,旨在深入解析XML的核心技术和网络开发中的应用,帮助读者快速掌握XML的实用技能。本书涵盖了XML的...

    Android学习笔记(十)——实现新闻列表

    Android学习笔记(一)——创建第一个Android项目 Android学习笔记(二)android studio基本控件及布局(实现图片查看器) Android学习笔记(三)android studio中CheckBox自定义样式(更换复选框左侧的勾选图像) ...

    安卓Android源码——比较通用的xml解析方法.rar

    本资料包“安卓Android源码——比较通用的xml解析方法”将深入探讨在Android平台上解析XML的多种方法。 1. DOM解析器(Document Object Model) DOM解析器将整个XML文档加载到内存中,创建一个树形结构,便于遍历和...

    android应用小程序———计算器源码

    这个"android应用小程序———计算器源码"就是一个完整的实例,展示了如何使用MyEclipse这一集成开发环境(IDE)来构建一个功能完备的Android计算器。这份源码对于初学者或有经验的开发者来说,都是一个很好的学习和...

    你所不知道的XML安全——XML攻击方法小结

    转载: 你所不知道的XML安全——XML攻击方法小结. XML可扩展标记语言,被设计用来传输和存储数据,其形式多样。某些在XML中被设计出来的特性,比如 XML schemas(遵循XML Schemas 规范)和documents type definitions...

    安卓Android源码——安卓Android Layout UI 首页加载过渡动画,星期变化动画.rar

    这个"安卓Android源码——安卓Android Layout UI 首页加载过渡动画,星期变化动画.rar"文件包含了实现这些效果的相关资源和代码。 首先,我们要理解布局(Layout)在安卓开发中的角色。布局是用户界面的基础,它...

    妙味课堂——前端HTML+CSS修炼之道--附赠章节源代码

    CSS则是用来描述HTML或XML(包括如SVG、MathML等各种XML方言)文档样式的样式表语言。它允许开发者控制网页的布局,包括颜色、字体、大小、间距、排列方式以及更多视觉效果。CSS使用选择器来选取要应用样式的元素,...

    安卓Android源码——结合html5jscss测试程序附源码.zip

    这个"安卓Android源码——结合html5jscss测试程序附源码.zip"压缩包提供了一个实际的示例,名为"AndroidJsTest",用于帮助开发者理解和实践这种混合式移动应用开发技术。 首先,让我们了解一下Android源码。Android...

    ASP实例开发源码——XML多风格留言本.zip

    这个实例开发源码——XML多风格留言本,结合了ASP技术和XML(Extensible Markup Language)来实现一个灵活可定制的留言系统。XML是一种结构化数据存储格式,允许开发者以清晰、可扩展的方式组织数据。 在ASP中,...

    安卓Android源码——(RadioButton与监听).zip

    这个压缩包文件"安卓Android源码——(RadioButton与监听).zip"很可能包含了关于如何在Android应用中使用RadioButton以及如何实现点击事件监听的相关示例代码。 RadioButton是Android SDK中的android.widget....

    Android开发——获取服务器返回的xml文件

    根据提供的文件信息,我们可以提取并总结出以下与“Android开发——获取服务器返回的xml文件”相关的知识点: ### 一、Android应用中获取服务器XML数据的基本流程 #### 1. 准备工作 - **确定URL地址**:首先明确...

    动手学Android之十三——动起来例子程序

    "动手学Android之十三——动起来例子程序"是一个专门针对Android动画的学习资源,旨在帮助开发者全面理解并掌握Android平台上的动画技术。这个程序实例涵盖了Android动画的各个方面,从基本的平移动画、旋转动画到更...

    Android下拉刷新ListView——RTPullListView

    9. **测试与调试**:确保在不同设备和Android版本上测试下拉刷新功能,修复可能出现的问题。 以上就是关于Android下拉刷新功能的基本实现,特别是使用RTPullListView的情况。虽然没有具体代码,但这些步骤应该能...

Global site tag (gtag.js) - Google Analytics