Android 自学之绝对布局 AbsoluteLayout

绝对布局(AbsoluteLayout),绝对布局就像java
AWT中的空布局;所谓的绝对布局就是Android不提供任何的布局控制,而是有开发人员自己通过X坐标和Y坐标来控制组件的位置。当使用绝对布局作为布局容器的时候,布局容器不在管理子容器的位置,大小(这些都需要开发人员自己控制)。

在使用绝对布局的时,每个组件都可以使用这两个XML属性

layout_x:指定该子组件的X坐标;

layout_y:指定该子组件的Y坐标;

以一个学习的例子做范例:

layout/main.xml


 1 <?xml version="1.0" encoding="utf-8"?>
2 <AbsoluteLayout xmlns:android="http://schemas.android.com/apk/res/android"
3 android:orientation="vertical"
4 android:layout_width="fill_parent"
5 android:layout_height="fill_parent"
6 >
7 <!-- 定义一个文本框,使用绝对定位 -->
8 <TextView
9 android:layout_x="20dip"
10 android:layout_y="20dip"
11 android:layout_width="wrap_content"
12 android:layout_height="wrap_content"
13 android:text="用户名:"
14 />
15 <!-- 定义一个文本编辑框,使用绝对定位 -->
16 <EditText
17 android:layout_x="80dip"
18 android:layout_y="15dip"
19 android:layout_width="wrap_content"
20 android:width="200px"
21 android:layout_height="wrap_content"
22 />
23 <!-- 定义一个文本框,使用绝对定位 -->
24 <TextView
25 android:layout_x="20dip"
26 android:layout_y="80dip"
27 android:layout_width="wrap_content"
28 android:layout_height="wrap_content"
29 android:text="密 码:"
30 />
31 <!-- 定义一个文本编辑框,使用绝对定位 -->
32 <EditText
33 android:layout_x="80dip"
34 android:layout_y="75dip"
35 android:layout_width="wrap_content"
36 android:width="200px"
37 android:layout_height="wrap_content"
38 android:password="true"
39 />
40 <!-- 定义一个按钮,使用绝对定位 -->
41 <Button
42 android:layout_x="130dip"
43 android:layout_y="135dip"
44 android:layout_width="wrap_content"
45 android:layout_height="wrap_content"
46 android:text="登 录"
47 />
48 </AbsoluteLayout>

上面代码所展示的效果图:

主程序

com.example.absolutelayouttest.MainActivity.java


 1 package com.example.absolutelayouttest;
2
3 import android.support.v7.app.ActionBarActivity;
4 import android.support.v7.app.ActionBar;
5 import android.support.v4.app.Fragment;
6 import android.os.Bundle;
7 import android.view.LayoutInflater;
8 import android.view.Menu;
9 import android.view.MenuItem;
10 import android.view.View;
11 import android.view.ViewGroup;
12 import android.os.Build;
13
14 public class MainActivity extends ActionBarActivity {
15
16 @Override
17 protected void onCreate(Bundle savedInstanceState) {
18 super.onCreate(savedInstanceState);
19 setContentView(R.layout.main);
20
21
22 }
23
24 }

上面的主程序就只是把layout/main.xml布局显示了一下。

layout/main.xml界面布局中指定的各组件android:layout_x、android:layout_y属性时指定了形如20dip的属性值。

Android中一般支持如下常用的距离单位:

  1. px(像素):每一个像素对应屏幕上的一个点。

  2. dip或dp(device independent
    pixels,设备独立像素):一种基于屏幕密度的抽象单位。例如:在每英寸160点显示器上,1dip=1px。但随着屏幕密度的改变,dip与px的换算会发生改变。

  3. sp(scaled pixels,比例像素):主要处理字体大小,可以根据用户的字体大小首选项进行缩放。

  4. in(英寸):标准长度单位。

  5. mm(毫米):标准长度单位。

  6. pt(磅):标准长度单位,1/72英寸。

时间: 2024-10-14 12:53:00

Android 自学之绝对布局 AbsoluteLayout的相关文章

Android 自学之线性布局 LinearLayout

线性布局(LinearLayout),线性布局有点想AWT编程里面的FolwLayout,他们都会将容器里面的组件挨个的排列起来. 他们最大的区别在于:Android的线性布局不会换行:AWT里面的FolwLayout则会另起一行进行显示 LinearLayout支持常用XML属性及相关方法的说明 XML属性 相关方法 说明 android:gravity setGravity(int) 设置布局管理器内组件的对齐方式.该属性支持top,bottom,left,right--也可以同时制定多种对

Android 自学之帧布局 FrameLayout

帧布局(FrameLayout)直接继承了ViewGroup组件: 帧布局容器为每一个加入其中的组件都创建了一个空白的区域,这个区域我们称之为一帧,所有每个组件都占据一帧,这些都会根据gravity属性执行自动对齐. FrameLayout的常用XML属性及相关的方法: XML属性 相关方法 说明 android:foreground setForeground(Drawable) 设置该帧布局容器的前景图像 android:foregroundGravity setForegroundGrav

Android有感(16):绝对布局AbsoluteLayout、常用距离单位

绝对布局AbsoluteLayout,继承自ViewGroup,子组件的大小.位置完全由开发者自己定义. 子组价可以指定如下两个属性: android:layout_x:指定子组件的X坐标 android:layout_y:指定子组件的Y坐标 Android常用的距离单位: 1. px(像素):每个px对应屏幕上的一个点. 2. dip或dp(device independent pixels,设备独立像素):一种基于屏幕密度的抽象单位. 在每英寸160点的显示器上,1dip=1px.但随着屏幕

.Net程序员玩转Android开发---(9)绝对布局AbsoluteLayout

绝对布局AbsoluteLayout类似于.NET中Winform的布局方式,以窗体左上角为坐标点,向右向下延伸. 由于绝对布局每个控件的位置是固定的,不能随着屏幕的大小改变而改变,所以在不同设备上运行出来的效果不同,所以这种布局方式使用的比较少. 绝对布局AbsoluteLayout中的控件有两个重要属性layout_x和layout_y分别用来设置控件的绝对位置. 下面我们看下这个例子布局的效果 <?xml version="1.0" encoding="utf-8

Android开发-之五大布局

在html中大家都知道布局是什么意思了,简单来说就是将页面划分模块,比如html中的div.table等.那么Android中也是这样的.Android五大布局让界面更加美化,开发起来也更加方便.当然布局方式不一样应用的地方也不一样,当然了有的布局方式也是可以相互转换和嵌套使用的.它们都各有各的优缺点,具体页面要怎么布局还是得看开发需求,但是用的最多的还是相对布局.线性布局以及相对布局和线性布局的嵌套使用.当然,我说的是安卓,并没有指定是安卓手机,比如平板.智能家居(电视...)很多都是Andr

Android基础:常用布局和数据存储

1. 相对布局RelativeLayout 特点:相对布局所有组件可以叠加在一起:各个组件的布局是独立的,互不影响:所有组件的默认位置都是在左上角(顶部.左部对齐) 属性 功能描述 android:layout_toRightOf 在指定控件的右边 android:layout_toLeftOf 在指定控件的左边 android:layout_above 在指定控件的上边 android:layout_below 在指定控件的下边 android:layout_alignBaseline 跟指定

Android开发自学笔记(Android Studio)&mdash;4.1布局组件

一.引言 Android的界面是有布局和组件协同完成的,布局好比是建筑里的框架,而组件则相当于建筑里的砖瓦.组件按照布局的要求依次排列,就组成了用户所看见的界面.在Android4.0之前,我们通常说Android开发五大布局和四大组件,这五大布局就是: LinearLayout 线性布局 FrameLayout 单帧布局,也有中文翻译为帧布局.框架布局. RelativeLayout 相对布局 AbsoluteLayout 绝对布局 TableLayout 表格布局 而在Android4.0之

Android五大布局之一绝对布局(AbsoluteLayout)

一.AbsoluteLayout(绝对布局)重点: AbsoluteLayout(绝对布局)之所以把这个放到最后,是因为绝对布局,我们基本上都是不会使用的,我们开发的应用需要在很多的机型上面进行一个适配,如果你使用了这个绝对布局的话,可能你在4寸的手机上是显示正常的,而换成5寸的手机,就可能出现偏移和变形,所以的话,这个还是不建议使用了 二.AbsoluteLayout(绝对布局)常用属性: 控制大小: android:layout_width:组件宽度 android:layout_heigh

Android精通:TableLayout布局,GridLayout网格布局,FrameLayout帧布局,AbsoluteLayout绝对布局,RelativeLayout相对布局

在Android中提供了几个常用布局: LinearLayout线性布局 RelativeLayout相对布局 FrameLayout帧布局 AbsoluteLayout绝对布局 TableLayout表格布局 GridLayout网格布局 TableLayout表格布局 TableLayout的介绍 TableLayout是将子类向分别排列成行和列的布局视图容器,TableLayout是由许多TableRow对象组成的,表格布局以行列的形式管理子控件,每一个单元是一个TableRow或者Vie