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

Android学习笔记(三)UI布局

 
阅读更多

一、线性布局-LinearLayout(至上而下布局)

<LinearLayout>

</LinearLayout>

如:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"   
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >

 

 其中

android:orientation="vertical"意思为垂直
方向的线性布局,此处的"vertical"可改为"horizontal",意思是水平方向的线性布局。

android:layout_width="fill_parent"意思为这个控件的宽度占满整个屏幕或者父控件,此处的"fill_parent"可改为"wrap_parant",意思是宽度刚好包含住LinearLayout里面的内容。

 

常用布局控件:

 

 android:id   为控件指定相应的ID
 android:text  指定控件当中显示的文字,需要注意的是,这里尽量使用strings.xml文件当中的字符串
 android:gravity  控制这个一个控件的位置,比如居中、靠右、底部、上部等
 android:textSize  指定控件当中字体的大小
 android:background  指定该控件所使用的背景色,RGB命名法
 android:layout_weight  数值为几即该控件占满整个屏幕的数值合之几,比如当前Activity中有2个控件,第一个控件是android:layout_weight="2",第二个控件是android:layout_weight="3",则,第一个控件占整个屏幕的3/5。
 android:height  指定控件的高度
 android:padding*  指定控件的内边距,也就是说控件当中的内容,如android:paddingLeft="10dip"、android:paddingRight="10dip"等等。也可以直接android:padding="10dip"意思是说内边距4面距离都为10.
 android:singleLine  如果设置为真的话,则将控件的所有内容在同一行当中进行显示

 

 

二、表格布局-TableLayout

概述:

TableLayout多用于列表的显示

1、把子元素放到行与列中。

2、不显示行、列和单元格的边界线。

3、单元格不能横跨行,类似于html。

 

用例:

<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:stretchColumns="1"> //这一条语句的意思是:是设置 TableLayout所有行的第二列为拉伸列。也就是说如果每行都有三列的话,剩余的空间由第二列补齐。为0时则是第一列为拉伸列。目的是为了把父控件填满。

<TableLayout>
       <tableRow>
             <TextView
                 android:text="@string/row1_column1"
                 android:background="#aa0000"    //加上背景色
                 android:padding="3dip"

         />
             <TextView
                 android:text="@string/row1_column1"
                 android:padding="3dip"
                 android:gravity="center_horizontal"   //垂直居中显示
                 android:background="#00aa00"
             / >
             <TextView
                 android:text="@string/row1_column2"
                 android:gravity="right"       //居右显示
                 android:background="#0000aa"
                 android:padding="3dip"

         />
      </TablieRow>
</TableLayout>

 以上代码意思为:将屏幕分为3列,一个TableRow就是一行,每一个TextView占一个单元格

    

 

三、嵌套布局

即多个布局嵌套使用。

如要实现以下布局:即多个LinearLayout嵌套

 

Android学习笔记(三)UI布局

 


代码如下:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"  //最外层使用垂直布局
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
    <LinearLayout
     android:orientation="horizontal"  //第一个嵌套纵向布局
     android:layout_width="fill_parent"
     android:layout_height="fill_parent"
     android:layout_weight="1">  //需要注意的是嵌套的LinearLayout权重都是1,即各自占屏幕的一半。
    </LinearLayout>
     
    <LinearLayout
     android:orientation="vertical"  //第二个嵌套垂直布局
     android:layout_width="fill_parent"
     android:layout_height="fill_parent"
     android:layout_weight="1">
    </LinearLayout>
</LinearLayout>



  四、相对布局-RelativeLayout

概念:

类似于CSS+DIV布局。

 一个控件的位置,决定于他和周围控件的关系。

 

与其他控件的区别:

相对布局是依赖与和周围控件的关系而决定为位置的,如将A控件放在B控件的下方。

 

相关属性:

   第一类:

   android:layout_above 将该控件的底部至于给定ID的控件之上
       android:layout_below 将该控件的顶部至于给定ID的控件之下
       android:layout_toLeftOf 将该控件的右边缘和给定ID的控件的左边缘对齐
       android:layout_toRightOf 将该控件的左边缘和给定ID的控件的右边缘对齐
     
       android:layout_alignBaseline 该控件的baseline和给定ID的控件的baseline对齐
       android:layout_alignBottom 将该控件的底部边缘与给定ID控件的底部边缘
       android:layout_alignLeft 将该控件的左边缘与给定ID控件的左边缘对齐
       android:layout_alignRight 将该控件的右边缘与给定ID控件的右边缘对齐
       android:layout_alignTop 将给定控件的顶部边缘与给定ID控件的顶部对齐
     
     
       android:layout_alignParentBottom 如果该值为true,则将该控件的底部和父控件的底部对齐
       android:layout_alignParentLeft 如果该值为true,则将该控件的左边与父控件的左边对齐
       android:layout_alignParentRight 如果该值为true,则将该控件的右边与父控件的右边对齐
       android:layout_alignParentTop 如果该值为true,则将控件的顶部与父控件的顶部对齐
     
       android:layout_centerHorizontal 如果值为真,该控件将被至于水平方向的中央
       android:layout_centerInParent 如果值为真,该控件将被至于父控件水平方向和垂直方向的中央
       android:layout_centerVertical 如果值为真,该控件将被至于垂直方向的中央
       

       通俗的理解 Padding 为内边框,Margin 为外边框
   
       对应的属性为
   
       android:layout_marginBottom="25dip"
       android:layout_marginLeft="10dip"
       android:layout_marginTop="10dip"
       android:layout_marginRight="10dip"
       android:paddingLeft="1dip"
       android:paddingTop="1dip"
       android:paddingRight="1dip"
       android:paddingBottom="1dip"
   
       如果左右上下都是相同的设置则可以直接设置
   
       android:layout_margin="10dip"
       android:padding="5dip"

 

 

 

分享到:
评论

相关推荐

    Android开发笔记——UI基础编程

    这份"Android开发笔记——UI基础编程"的资料集包含了两部分:新版Android开发教程+笔记七--基础UI编程1.pdf和新版Android开发教程+笔记七--基础UI编程2.pdf,将深入讲解Android应用程序中用户界面的设计与实现。...

    Android开发笔记——UI编程和应用布局

    在Android开发中,UI编程和应用布局是两个至关重要的部分,它们构成了用户与应用程序交互的界面。本笔记将深入探讨这两个主题,旨在帮助开发者创建出美观且易用的Android应用。 首先,我们来讨论Android UI编程。在...

    Android学习笔记14:相对布局管理器RelativeLayout

    在Android应用开发中,布局管理器是界面设计的关键部分,它们负责组织和定位应用...在深入研究"Android学习笔记14"和"RelativeLayoutDemo"时,记得实践和实验各种布局组合,以便更好地理解和掌握这一强大的布局管理器。

    黑马66期android学习笔记19_线性布局的特性

    在黑马66期的Android学习笔记中,重点讲解了线性布局的特性及其在实际应用中的运用。下面将详细阐述线性布局的相关知识点。 一、线性布局介绍 线性布局按照垂直或水平方向排列其子视图(Views),这些子视图会依次...

    android学习笔记2(五种布局)

    这篇“android学习笔记2”着重探讨了五种常见的Android布局,它们分别是线性布局(LinearLayout)、相对布局(RelativeLayout)、帧布局(FrameLayout)、网格布局(GridLayout)以及约束布局(ConstraintLayout)。...

    android 学习笔记(全全整理)

    Android学习笔记全全整理,是针对想要深入理解并掌握Android开发技术的学习者们的一份宝贵资源。这份笔记涵盖了从基础到高级的多个方面,旨在帮助读者建立起完整的Android知识体系。以下将详细介绍其中可能包含的...

    ArcGIS for android学习笔记

    本篇学习笔记主要涵盖了ArcGIS for Android的基础配置和核心组件MapVie的使用。 首先,配置ArcGIS for Android项目需要在`Project`级别的`build.gradle`文件中添加Esri的仓库,确保能获取到所需的库。接着,在`...

    android学习笔记.zip

    《Android学习笔记》 在移动应用开发领域,Android操作系统占据着重要的地位,为开发者提供了丰富的API和工具,使得创建各种应用程序变得可能。本压缩包文件包含了一位学习者从第一天到第五天,以及一个特定项目...

    黑马程序员Android学习笔记

    《黑马程序员Android学习笔记》是一份专为初学者设计的详尽教程,旨在帮助那些希望踏入安卓开发领域的人员快速掌握核心知识。这份笔记涵盖了从基础到进阶的多个主题,帮助学习者系统地理解Android应用开发的过程。 ...

    Android学习笔记.rar

    这份“Android学习笔记”涵盖了从基础到进阶的Android开发知识,旨在帮助开发者深入理解Android系统,并具备开发高质量Android应用的能力。 一、Android系统架构 Android系统分为四个主要层次:Linux内核、系统库和...

    Android学习笔记三:第一个应用程序的扩充

    在这个"Android学习笔记三:第一个应用程序的扩充"中,我们将深入探讨如何扩展这个基础,以更好地理解和掌握Android应用开发的核心概念。 首先,Android Studio作为Google官方推荐的集成开发环境(IDE),是Android...

    Android学习笔记1

    从给定的文件信息来看,这些内容主要是Android开发的学习笔记,涵盖了从基础控件的添加、布局的设置、样式主题的调整到Activity生命周期的管理等多方面的知识点。以下是对文件内容的具体分析: 1. 添加TextView控件...

    Android学习笔记(5-13)

    这篇Android学习笔记主要涵盖了从第五章到第十三章的内容,是Android开发者或对Android系统感兴趣的初学者的重要参考资料。笔记详细解读了Android应用开发的核心概念和技术,旨在帮助读者深入理解并掌握Android开发...

    android 学习笔记doc

    在Android学习过程中,掌握核心概念和技术是至关重要的。这篇学习笔记涵盖了Android开发的基本知识点,旨在帮助初学者系统地理解和深入探索这个平台。 1. **Android系统架构**:Android由Linux内核、硬件抽象层...

    Android学习笔记(十三) 碎片

    碎片是Android应用程序中的一种组件,它可以包含部分UI和相关的业务逻辑。碎片可以在活动中单独存在或与其他碎片一起展示,提供了一种在不同屏幕尺寸和配置下复用代码的方式。碎片有自己的生命周期,包括`onCreate()...

    Android Studio 学习笔记-新手入门-(1)第一个案例

    这篇学习笔记将引导新手入门,通过创建第一个简单的案例来了解Android Studio的基本操作。 首先,让我们了解一下Android Studio的核心功能。它基于IntelliJ IDEA,具备代码自动补全、重构、调试等强大的开发特性。...

    MONO FOR ANDROID学习笔记全套

    【Mono for Android学习笔记全套】是一份详尽的资源,旨在帮助开发者掌握使用Mono和C#进行Android应用开发的技术。Mono是.NET框架的一个开源实现,它使得C#开发者能够在多种平台上,包括Android,编写和运行应用程序...

    很好的android学习笔记

    【Android学习笔记】 Android是一种基于Linux内核的开源操作系统,主要应用于移动设备,如智能手机和平板电脑。这个“很好的android学习笔记”包含了作者在学习Android开发过程中积累的宝贵经验,旨在帮助初学者或...

    黑马66期android学习笔记14-电话拨号器定义布局&获取组件对象

    本篇学习笔记主要探讨了如何自定义电话拨号器的布局以及如何获取布局中的组件对象,这些都是构建自定义拨号应用的关键步骤。以下将详细阐述这两个知识点。 首先,**定义布局** 是Android开发中的基础工作。在XML...

    android学习笔记2

    本笔记主要围绕"android学习笔记2"展开,特别关注了如何在Android应用中集成并使用百度地图API。这是一份适合自学Android开发者的资源,旨在提升你在Android平台上的实践能力。 首先,让我们深入了解一下Android...

Global site tag (gtag.js) - Google Analytics