`
Scorates
  • 浏览: 4813 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

安卓布局

阅读更多

    安卓里面的布局方式主要有以下五种:LinearLayoutFrameLayoutRelativeLayoutAbsoluteLayoutTableLayout。一个简单的界面可以不使用多种布局,但是如果界面稍微复杂或者想要界面布局更加舒服好看很多时候是要多种布局嵌套使用的。下面简单介绍一下这五种布局。

 

       1、  LinearLayout :线性布局,按水平或垂直来排列所有的元素,即N行或者N列,不论元素的宽度或高度是多少。如果想要多行多列,只要在LinearLayout里面嵌套LinearLayout布局就好了。android:layout_weight 是线性布局里的一个属性,用来描述该布局里的子元素所占的比重大小,按比值分配,且数值越小所占的比重越高,如果只有一个元素则默认为0

 

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >
    
    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="btn01 :...">
    </Button>
    
     <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="btn02:...">
    </Button>
    
    <LinearLayout 
        android:orientation="horizontal"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content">
        
        <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="btn03:...">
    	</Button>
    	
        <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="btn04:...">
    	</Button>
    </LinearLayout>
</LinearLayout>

 

      2、FrameLayout:单帧布局。在这个布局中所有的组件都在该视图的左上角而无法指定位置。最后的效果就是后面的被前面的覆盖。

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    
    <Button 
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="btn00000000000"/>
     
    <Button 
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="btn1111"/>
    
</FrameLayout>

    

      3、RelativeLayout:相对布局,最常用的布局。因为这种布局是把组件之间相互联系起来布局的,每个组件的位置都是依赖其他组件存在的。所以在这种布局里要用到最重要的就是组件的id

 

在这种布局里如果要改动某个组件的id,那就在所有与它有关的组件里都要改,否则会报错。那么组件之间怎么联系呢?很简单,无非就是左对齐右对齐顶端对齐之类,使用起来并不难。

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".RelativeActivity" >

    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:text="Button" />

    <Button
        android:id="@+id/button2"
        style="?android:attr/buttonStyleSmall"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBottom="@+id/button1"
        android:layout_toRightOf="@+id/button1"
        android:text="Button" />

    <Button
        android:id="@+id/button3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/button1"
        android:layout_below="@+id/button1"
        android:text="Button" />

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignRight="@+id/button2"
        android:layout_below="@+id/button3"
        android:text="TextView" />

</RelativeLayout>

 

 

 

 

     4、AbsoluteLayout:绝对布局。如名字所说这种布局确实很绝对,里面的每个组件都要求有这样两个属性,android:layout_xandroid:layout_y,用来描述组件的位置。这种布局并不好用,因为一款APP如果换了终端换了屏幕大小原来的布局就显得不合适了。

<AbsoluteLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".AbsoluteActivity" >

    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_x="49dp"
        android:layout_y="137dp"
        android:text="Button" />

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_x="194dp"
        android:layout_y="227dp"
        android:text="TextView" />
   
</AbsoluteLayout>

 

     5、TableLayout:表格布局。把整个界面分成表格一样的形式,每个组件占有相同的空间。TableLayout中包含许多的TableRowTableRow就相当于表格中的一行。如果不把组件放进TableRow中,那么就会占满整行。

 

 

 

 

<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    tools:context=".TableActivity" >

   <TableRow>

       <Button
           android:id="@+id/button1"
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:text="Button" />

       <Button
           android:id="@+id/button2"
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:text="Button" />

       <Button
           android:id="@+id/button3"
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:text="Button" />
  
   </TableRow>
   
   <TableRow>

       <Button
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:text="Button" />

       <Button
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:text="Button" />

       <Button
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:text="Button" />
       
   </TableRow>

</TableLayout>

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

分享到:
评论

相关推荐

    安卓界面布局工具(layout布局)

    描述中提到的工具可能是像DroidDraw这样的应用程序,它是一个早期的图形化用户界面(GUI)工具,可以帮助开发者无需编写XML代码就能设计Android布局。DroidDrawr1b21.jar可能就是这个工具的一个版本,允许用户通过...

    安卓布局管理器

    在深入掌握Android布局知识之前,我们首先需要了解Android平台下的控件类基础。整个Android的布局和控件体系构建在几个核心类上,其中最基础的是`View`和`ViewGroup`。 **View类** `View`类是所有可视化控件的基类...

    认识Android布局文件

    【Android布局文件详解】 在Android应用开发中,界面设计是一个至关重要的环节,而XML格式的布局文件正是构建这些界面的核心工具。布局文件定义了应用程序界面的结构,包括它所包含的控件、控件间的相对位置以及...

    安卓布局学习

    在Android应用开发中,...通过不断实践和学习,开发者可以熟练掌握Android布局的使用,创造出直观且实用的用户界面,提升应用的整体质量。在实践中不断迭代和优化布局设计,是成为一名优秀Android开发者的必经之路。

    android布局案例源代码

    这个“android布局案例源代码”压缩包包含了一系列的示例,帮助开发者深入理解并掌握Android布局设计。以下是这些案例中可能涉及的一些关键知识点: 1. **树形布局(TreeView)**: 树形布局是一种层次结构的展示...

    android布局软件droiddraw

    **Android布局软件DroidDraw详解** DroidDraw是一款专为Android开发者设计的图形化界面布局工具,它使得创建XML布局文件变得更加直观和简单。在早期的Android开发中,DroidDraw因其用户友好的特性,受到了不少...

    安卓布局实例

    在安卓应用开发中,布局(Layout)扮演着至关重要的角色,它是用户界面(UI)的基础。本教程“安卓布局实例”旨在帮助初学者理解和掌握如何创建和管理安卓应用中的各种布局。通过实例化的讲解,我们可以深入理解每个...

    android布局_Android布局_android_

    本文将深入探讨Android布局的各种类型及其使用方法,旨在帮助开发者更好地理解和掌握Android应用的UI设计。 首先,我们来了解Android中的基本布局类型: 1. **线性布局(LinearLayout)**:这是最基础的布局,它...

    android布局属性大全

    本篇文章将全面解析Android布局中的属性,帮助开发者更好地理解和使用这些属性来创建美观、功能丰富的用户界面。 首先,我们要了解Android布局的主要类型,如LinearLayout(线性布局)、RelativeLayout(相对布局)...

    Android xml布局文件生成工具

    在Android应用开发中,XML布局文件是构建用户界面(UI)的主要方式,它允许开发者以声明式编程的方式定义UI元素的结构和样式。"Android xml布局文件生成工具"是为了解决手动编写XML布局文件繁琐和耗时的问题而设计的...

    Android布局管理器

    【Android布局管理器】是Android应用开发中的核心概念,它决定了UI组件在屏幕上的排列方式。在Android中,布局管理器主要有五种类型:线性布局(LinearLayout)、表格布局(TableLayout)、相对布局(RelativeLayout...

    java android 布局文件

    Android布局文件是用来描述应用程序界面上组件(如按钮、文本视图、图像视图等)的结构和位置的XML文档。这些文件定义了控件的属性,如大小、位置、文本、样式等,并且可以包含多个嵌套的布局以实现复杂的屏幕设计。...

    android 布局生成图片

    在Android开发中,有时我们需要将一个布局转换为图片,例如为了实现分享到微信的功能,或者进行屏幕截图。本文将深入探讨如何在Android中实现“布局生成图片”这一技术,以及如何将其与微信分享功能集成。 首先,让...

    安卓布局源代码

    在Android布局源代码中,我们可以看到如何在Java代码中实例化PopupMenu对象,然后调用`inflate()`方法填充菜单项,这些菜单项来自XML资源文件。例如,`menu.xml`可能定义了菜单项的ID、文字和图标。 3. **布局文件*...

    安卓布局大全

    本文将深入探讨Android布局中的一些重要属性和概念,以帮助开发者更好地理解和运用这些布局工具。 首先,我们来看RelativeLayout,这是一种相对布局,允许元素相对于其他元素或父容器定位。例如,`android:layout_...

    安卓布局方法

    在Android应用开发中,布局(Layout)是构建用户界面的核心组成部分。不同的布局方式适用于不同的界面设计需求,让我们逐一深入理解这些常见的布局方法。 1. **LinearLayout(线性布局)** 线性布局是最基础的布局...

    Android、教程<经典> 2 Android布局

    本教程将深入探讨Android布局的各个方面,帮助开发者掌握创建高效、可扩展且美观的用户界面的技巧。 首先,我们来了解Android布局的基础知识。Android提供了多种布局类型,每种都有其特定的用途: 1. **线性布局...

    android布局控件总结

    LinearLayout 线性布局 控制组件 横向 或者 纵向 排列 RelativeLayout 相对布局 子组件的位置总是相对兄弟组件,父容器来决定的 FrameLayout 帧布局、框架布局 创建一个空白区域, 一个区域成为一帧 TableLayout 表格...

    android UI布局工具

    "android布局"是指在Android应用中用于控制用户界面元素排列和展示的方式。常见的布局管理器有线性布局(LinearLayout)、相对布局(RelativeLayout)、帧布局(FrameLayout)、网格布局(GridLayout)以及约束布局...

    基于Android Studio的安卓布局设计源码

    本源码项目是基于Android Studio的安卓布局设计,包含81个文件,主要使用Java编程语言。该项目适用于学习安卓布局代码,开发环境包括Windows 10、JDK 1.8、SDK 33、Android 1、Android Studio 2021.2.1以及Git ...

Global site tag (gtag.js) - Google Analytics