`
bingoit
  • 浏览: 34686 次
  • 性别: Icon_minigender_1
  • 来自: 福建
社区版块
存档分类
最新评论

Android UI Layout 之 AbsoluteLayout

阅读更多

在 Android UI 中,最基本的构建单位(building block)是 android.view.View。一个 View 占据屏幕上的一个矩形区域,并负责该区域的绘画和事件处理。View 有一些子类,比如 ImageView、TextView 等可分别用来显示图像、文字…… View 还有一个特殊的子类 ViewGroup,ViewGroup 在 UI layout 中充当“容器”的角色,用以“包含”其他 View 以及 ViewGroup:
viewgroup.png


由于 ViewGroup 是一个 abstract class 无法直接实例化,所以在 layout 中真正充当“容器”角色的应该是 ViewGroup 的子类 :AbsoluteLayout、 FrameLayout、 LinearLayout、 RelativeLayout 等。在实际的 UI 编程中,使用不同的 Layout 类作为容器,对该容器中的各个子 View 的排列方式有很大影响。比如,LinearLayout 中的各个子 View 按照横向或者纵向线性排列;而 AbsoluteLayout 中各个子 View 可以指定以像素为单位的“绝对”位置。AbsoluteLayout 的这种“绝对”定位的布局方式和我们非常熟悉的 Windows 编程中的 SetWindowPos() 或 Form1.Left = 10 的布局方式是一样的,比较简单:

现在我们新建一个 Android 工程中,在其主 Activity 类中添加如下三个成员:
private AbsoluteLayout al;
private TextView tv;
private View v;

改写这个类的 onCreate 方法如下:
public void onCreate(Bundle icicle) {
        super.onCreate(icicle);

        // 构造一个 AbsoluteLayout,设置其背景色
        al = new AbsoluteLayout(this);
        al.setBackgroundColor(Color.YELLOW);
        // 构造一个 TextView 并设置其 text 和 背景色
        tv = new TextView(this);
        tv.setText("Android is a software stack for mobile devices that includes an operating system, middleware and key applications. ");
        tv.setBackgroundColor(Color.BLUE);
        // 用该 View 在父 View 中的 width,height,x,y 作为参数构造一个 AbsoluteLayout.LayoutParams
        AbsoluteLayout.LayoutParams tvLP = new AbsoluteLayout.LayoutParams(70, 50, 10, 20);
        // 把这个 TextView 加入到 AbsoluteLayout 中,并应用上一步创建的 LayoutParams。这样 TextView 就会显示在我们指定的位置上了。
        al.addView(tv, tvLP);
       
        v = new View(this);
        v.setBackgroundColor(Color.RED);
        AbsoluteLayout.LayoutParams vLP = new AbsoluteLayout.LayoutParams(70, 50, 90, 70);
        // 也可以先为子 View 设置 LayoutParams,然后再调用一个参数的 ViewGroup.addView(View) 来添加。效果是一样的。
        v.setLayoutParams(vLP);
        al.addView(v);
       
        // 设置 al 为本 Activity 的 content
        // 这样,在该 Activity 被调用时,就会显示该 AbsoluteLayout 和其子 View
        this.setContentView(al);
    }

  • 描述: 3333
  • 大小: 4.6 KB
分享到:
评论

相关推荐

    android_UI布局设计.pdf

    在Android应用开发中,用户界面(User Interface, UI)设计是至关重要的环节之一。良好的UI不仅能够提升用户体验,还能增强应用的吸引力。本文旨在深入探讨Android UI布局设计的核心概念和技术,帮助开发者更好地理解...

    Android中UI布局Layout

    在Android应用开发中,UI设计是至关重要的,而布局(Layout)则是构建用户界面的核心元素。布局决定了应用程序中各个组件的排列方式和相互关系。以下是关于Android中几种主要布局的详细解析: 1. **线性布局...

    Android的Layout完全介绍

    Android的Layout完全介绍 在Android开发中,Layout是构建用户界面...选择合适的Layout可以有效地组织UI,提高用户体验,同时降低代码维护的复杂性。在实际开发中,应根据应用需求和屏幕适配性综合考虑选用哪种Layout。

    Android入门第二篇之LinearLayout、AbsoluteLayout.docx

    Android 入门第二篇之 LinearLayout、AbsoluteLayout Android 的 UI 布局是基于容器的概念,Layout 作为容器,控件按照规定排列在其上面。这种布局方式与 JAVA 的 Swing 和 LWUIT 很像。控件和 Layout 之间有很多...

    android UI界面设计

    本文将深入探讨Android中常用的几种布局类型,包括线性布局(LinearLayout)、相对布局(RelativeLayout)、表格布局(TableLayout)、绝对布局(AbsoluteLayout)、标签布局(TabLayout)以及层布局(FrameLayout),并重点分析...

    Android UI 设计

    - **Activity**:是Android应用的基本单元之一,用于展示用户界面并响应用户的操作。一个应用可以包含多个Activity。 - **UI组件**:包括各种构件(Widgets),如按钮(Button)、标签(Label)、文本框(TextBox)...

    Android应用源码之11.AbsoluteLayout&FrameLayout.zip

    尽管如此,理解`AbsoluteLayout`的工作原理对于开发者了解Android UI的早期实现和解决特定布局问题仍具有价值。 `FrameLayout`,另一方面,是最基本的布局管理器之一。它按照从上到下、从左到右的顺序添加子视图,...

    android UI布局

    ### Android UI布局详解 #### 一、引言 在Android应用开发中,用户界面(UI)的设计至关重要,良好的UI不仅能够提升用户体验,还能增加应用的吸引力。对于初学者而言,掌握Android UI布局的基本概念与技巧是必不可少...

    android ui

    关键属性包括`android:layout_below`、`android:layout_toLeftOf`和`android:layout_alignTop`等,分别用于控制控件在其他控件的下方、左侧或与之顶部对齐。 3. **表格布局(TableLayout)** 表格布局适用于创建...

    android:anroidUI编程4(中文)

    ### Android UI 编程知识点详解 #### 一、Android UI编程概述 在Android开发中,UI(用户界面)设计是至关重要的一个环节。良好的UI设计不仅能够提升用户体验,还...希望这些内容能对您的Android开发之旅有所帮助。

    Android实验二-UI界面开发[文].pdf

    Android提供了多种布局方式,如AbsoluteLayout、FrameLayout、GridView、LinearLayout、ListLayout、RadioGroup、TableLayout等。不同的布局方式适合不同的应用场景。 实验过程 实验过程主要包括新建一个Android...

    android_UI布局设计

    Android UI布局设计是开发Android应用程序中至关重要的一个环节,它涉及到如何通过合理地使用布局和控件来展示应用程序的用户界面。在Android中,UI布局和控件的使用直接影响到用户的交互体验和应用的可用性。接下来...

    android 五大布局介绍附源码范例

    同时,Android还引入了GridLayout(网格布局)、ConstraintLayout(约束布局)等高级布局,以满足更多样化的UI设计需求。在实际开发中,灵活运用各种布局,结合动态编程,能够创建出更加用户友好的界面。在提供的...

    android UI程序设计

    ### Android UI程序设计知识点 #### 一、UI概念与变革 - **选择区别于桌面系统的窗体**:在设计Android应用界面时,需考虑移动设备的特性,与传统的桌面系统有所区别。 - **屏幕尺寸的限制**:考虑到移动设备屏幕...

    Android入门之LinearLayout、AbsoluteLayout的用法实例讲解

    本文实例介绍了Android中LinearLayout、AbsoluteLayout的用法,希望能对于初学Android的朋友起到一点帮助作用。具体内容如下: Android 的UI 布局都以Layout 作为容器,并且在上面按照规定排列控件,这方面跟JAVA 的...

    Android_layout_详细介绍

    在Android应用开发中,布局(Layout)是构建用户界面的关键组成部分,它决定了界面元素如何在屏幕上组织和排列。以下是对几种常见布局的深入解析: #### LinearLayout(线性布局) 线性布局是最常用的布局之一,它...

    Android Layout

    ### Android Layout 概述 Android应用的界面设计主要依赖于布局(Layout)的概念。布局是用于组织和呈现用户界面(UI)元素的重要组成部分。Android提供了多种布局类型以满足不同的UI设计需求。 #### 布局类型 - **...

    APP开发教程 Java Android移动端开发 3、Android UI编程(2) 共19页.pptx

    在Android应用开发中,UI设计是至关重要的环节。本教程主要关注Java Android移动端开发的UI编程,特别是关于控件树的动态操作以及常用的布局管理器。以下是对这些知识点的详细阐述: 首先,控件树是Android界面设计...

Global site tag (gtag.js) - Google Analytics