- 浏览: 244103 次
- 性别:
- 来自: 深圳
文章分类
最新评论
-
yingjianxuehun:
在android4.4上fb0总是打不开,已经root,权限也 ...
Android原生(Native)C开发之二 framebuffer篇 -
zdyhlp:
新版本4.3.1不能在Android2.2下工作。请问楼主用的 ...
为免费app嵌入Admob广告 -
zdyhlp:
另外要加上ads:adSize="BANNER&qu ...
为免费app嵌入Admob广告 -
zdyhlp:
<com.admob.android.ads.AdVie ...
为免费app嵌入Admob广告 -
王山而:
mark
Android引入第三方jar包的方法
开发过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 If 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,
android:layout_marginBottom, android:layout_marginLeft, android:layout_marginRight, android:layout_marginTop。
这不由的让人联想到我们对HTML中元素定位的流行做法——div+float。在CSS中,如果我们要控制一个元素(通常是一个div)的显示,就要用到填充距属性(Padding-top、Padding-right、Padding-bottom、Padding-left)与边框属性(Border-top-width、Border-right-width、Border-bottom-width、Border-left- width、Border-width 、Border-color、Border-style、Border-top、Border-right、Border-bottom、Border- left、Width、Height、Float、Clear)。CSS并没有像Android的layout一样定义了很多对齐,但是通过float和 clear一样可以呈现出漂亮的网页(通过float完全可以实现Android中alignXXX与alignParentXXX的功能)。
同样的,XML的分层结构也和HTML的嵌套<div></div>极为相似,把layout从代码里分离也与CSS外部样式表的思想相同。据说WPF也是运用了外部XML文件来控制UI,看来都受到了启发。
另外,Android的layout与Swing的layout有很好的对应,但是我的J2SE学得很差,等我研究研究之后再进行分析和比较吧。
本文来自wodehuajianrui:http://www.cnblogs.com/wodehuajianrui/archive/2008/07/04/1235623.html
<?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 If 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,
android:layout_marginBottom, android:layout_marginLeft, android:layout_marginRight, android:layout_marginTop。
这不由的让人联想到我们对HTML中元素定位的流行做法——div+float。在CSS中,如果我们要控制一个元素(通常是一个div)的显示,就要用到填充距属性(Padding-top、Padding-right、Padding-bottom、Padding-left)与边框属性(Border-top-width、Border-right-width、Border-bottom-width、Border-left- width、Border-width 、Border-color、Border-style、Border-top、Border-right、Border-bottom、Border- left、Width、Height、Float、Clear)。CSS并没有像Android的layout一样定义了很多对齐,但是通过float和 clear一样可以呈现出漂亮的网页(通过float完全可以实现Android中alignXXX与alignParentXXX的功能)。
同样的,XML的分层结构也和HTML的嵌套<div></div>极为相似,把layout从代码里分离也与CSS外部样式表的思想相同。据说WPF也是运用了外部XML文件来控制UI,看来都受到了启发。
另外,Android的layout与Swing的layout有很好的对应,但是我的J2SE学得很差,等我研究研究之后再进行分析和比较吧。
本文来自wodehuajianrui:http://www.cnblogs.com/wodehuajianrui/archive/2008/07/04/1235623.html
发表评论
-
Android-Intent和PendingIntent的关系
2010-11-05 14:40 7869Intent和PendingIntent的关系 Intent和 ... -
Android引入第三方jar包的方法
2010-03-17 09:09 4457在Android平台中可以使用第三方外部 JAR库文件,在Ec ... -
android的网络接口
2010-02-11 10:07 0目前android平台有3种网各接口可以使用,它们分别是:ja ... -
Google Android SDK 2.1正式发布
2010-02-02 16:45 14601月12日,来自Google Android开发团队博客的消息 ... -
android 常用 INTENT
2010-01-20 23:35 5073IntentFilter 简述:结构化描述int ... -
Google Weather API
2010-01-20 22:10 2264Google Weather API 只支持美国地区使用邮政编 ... -
TableLayout 中 stretchColumns的用法
2010-01-19 16:32 9573<?xml version="1.0" ... -
Android应用开发中的风格和主题(style,themes)
2010-01-19 15:06 2122当你设计你的程序的时候,你可以用风格和主题来统一格式化各种屏幕 ... -
WIFI IP转换
2010-01-14 14:01 1031private String intToIp(int i) { ... -
Get IP Address
2010-01-14 10:43 15551, Connect via WIFI WifiManager ... -
OPhone开发环境设置
2010-01-07 15:16 13371 安装eclipse 3.4.x http://www.e ... -
Android通过AIDL接口实现跨进程通讯
2010-01-07 14:43 2387在Android开发中, 每个应 ... -
对android重力测试的一个疑问
2010-01-04 11:29 1780之前有看过IBM Eyes 关于SensorManager的代 ... -
Android启动过程
2009-12-30 11:07 32001. Boot系统初始化, 具 ... -
android source tree
2009-12-29 15:21 1703makefile 全局makefile bionic b ... -
android绘图坐标
2009-11-23 18:01 2569在android中,手机的屏幕大少为320*480,原点坐标在 ... -
android中绘图的方法
2009-11-23 11:13 2587绘制各种图形、文字使用Canvas类中drawRect、dra ... -
零打碎敲学Android(一)—用什么来替代Graphics
2009-11-23 10:47 2897一、要想在View中绘制图 ... -
Android原生(Native)C开发之三 鼠标事件篇(捕鼠记)
2009-11-20 23:38 2834在做SDL至Android的移植时,键盘事件是能正常捕获到,看 ... -
Android原生(Native)C开发之二 framebuffer篇
2009-11-20 23:35 2502虽然现在能通过交叉环境编译程序,并push到Android上执 ...
相关推荐
`apktool`是一个开源的Android反编译工具,它能够帮助我们解包APK,反编译其中的XML和布局文件(layout),并提供重新打包和签名的功能,以实现对APK的分析和修改。 首先,`apktool`的基本使用流程如下: 1. **...
Android XML 布局属性详解 Android XML 布局属性是 Android 应用程序中最基本也是最重要的一部分。它负责控制屏幕上的各种控件的布局和排列。 Android XML 布局属性可以分为三类:第一类是属性值为 true 或 false ...
在Android开发中,布局(Layout)是构建用户界面的基础元素,它定义了屏幕上各个组件的排列方式和相互关系。本文将深入探讨Android的五种主要布局:LinearLayout、RelativeLayout、FrameLayout、GridLayout以及...
在Android开发中,XML布局是构建用户界面的主要方式。`<include />`标签是一个非常实用的功能,它允许我们将一个XML布局文件嵌入到另一个布局文件中,实现代码的复用和模块化。这个Demo将详细解释如何使用`...
### Android与XML开发详解 #### 一、引言 在Android开发中,XML(Extensible Markup Language)扮演着至关重要的角色。它不仅被用于定义应用程序的用户界面布局,还广泛应用于资源文件、配置文件以及数据交换等多...
### Android XML 文件详解 在Android开发中,XML文件主要用于定义应用程序的用户界面(UI)。本文将详细介绍各种Layout中常用的一些重要属性,并将其分为三类进行阐述:定位与对齐、间距与填充、文本与图像处理。 ...
在Android Studio中,可以创建一个res/layout目录下的XML文件,声明自定义布局类,并在`<layout>`标签中设置属性。 ```xml <com.example.myapp.CustomLayout xmlns:android=...
然而,需要注意的是,DroidDraw已不再维护,对于最新的Android SDK版本可能不完全兼容,现在的开发者更多地转向使用Android Studio内置的布局编辑器,如布局设计器(Layout Designer)和实时布局预览(Live Layout ...
`android:layout_width`和`android:layout_height`通常设置为0dp,然后通过`android:layout_weight`分配空间。 3. **初始化Fragment**:虽然在XML中已声明了Fragment,但还需要在Activity的`onCreate()`方法中进行...
### Android Layout样式布局详解 #### 一、概述 在Android应用开发中,界面设计是非常重要的一环,而界面设计的核心就是布局(Layout)。布局决定了应用界面的结构与外观,是用户体验好坏的重要因素之一。本文将...
在Android开发中,XML是一种非常重要的工具,尤其在创建用户界面和定义图形元素时。本教程将深入探讨如何使用XML来实现一些常见的背景图,包括按钮样式和文本编辑框布局。我们将主要关注四个核心概念:Shape、...
在Android开发中,XML布局是构建用户界面的主要方式。它允许开发者通过文本编辑器来设计和组织应用的视图层次,而不是直接在代码中硬编码。XML布局文件通常存储在项目的`res/layout`目录下,使得UI设计与业务逻辑...
Android的Layout完全介绍 在Android开发中,Layout是构建用户界面的关键组成部分,用于组织和定位应用中的各种View组件。本文将详细介绍几种主要的Layout类型及其特点。 1. FrameLayout FrameLayout是最基础的布局...
### Android Layout 概述 在Android开发中,`Layout`起着至关重要的作用,它用于组织和排列用户界面中的各种视图(View)组件。通过使用不同的布局方式,开发者可以创建出灵活且适应不同屏幕尺寸的应用界面。本文将...
XML文件是Android系统中定义颜色资源的标准方式,它允许开发者集中管理颜色,方便在多个组件和界面中复用。本文将深入探讨如何在XML中定义颜色资源,并讲解如何在Android项目中引用这些颜色。 首先,我们来看如何在...
android:layout_width="match_parent" android:layout_height="match_parent" android:stretchColumns="*"> ``` 2. **创建TableRow** 对于每个图片,我们需要一个`TableRow`来放置。`TableRow`的默认行为是...
XML颜色配置是Android系统提供的一种灵活、可维护的颜色资源管理方式,允许开发者在XML文件中定义和使用颜色,而非直接在代码中硬编码。这种方式有助于保持代码的整洁,提高代码的可读性和可复用性,同时也方便进行...
首先,Android布局是XML文件,通常位于项目的`res/layout`目录下。这些XML文件定义了视图(View)和视图组(ViewGroup),视图是屏幕上的基本元素,如按钮、文本框等,而视图组则是包含多个视图的容器,如线性布局、...