android常用讲义布局介绍

合集下载

Android移动应用开发实用第4章 Android布局管理器

Android移动应用开发实用第4章 Android布局管理器

4.4.2 AbsoluteLayout实例
下面用一个例子来展示绝对布局的实现方法,实现结果如 图4-4所示。
图4-4
4.4.2 AbsoluteLayout实例
图4-4所示界面设计的基本思想主要分为以下几步:
如果使用AbosoluteLayout布局需根据所需屏幕样式计算 各个控件的横纵坐标,上例中的TextView没有为layout_x 和layout_y指定具体值,那么这两个属性值默认都为0即绝 对坐标(0, 0),使TextView控件显示在屏幕的最左上角。
4.1.1 LinearLayout介绍
线性布局是最常用的布局方式。线性布局在XML布局文件 中使用<LinearLayout>标签进行配置。
线性布局可分为水平线性布局和垂直线性布局。通过 android:orintation属性设置线性布局的方向,该属性的 可取值是horizontal和vertical,默认值是horizontal。
整个TableLayout第一部分包含3个TableRow,每个 TableRow中包括2个TextView。整个TableLayout第二部 分包含2个TableRow,每个TableRow中包括2个TextView 。整个TableLayout第三部分包含1个TableRow。
实例中<TextView>控件中的padding属性值为容器内内容 与容器的边距,这里使用的单位是dip。在android中使用 的单位主要包括dip、dp、px和sp。dip的含义与dp相同, 代表设备独立像素,不依赖像素不同设备有不同的显示效 果,一般当为了支持WVGA、HVGA和QVGA时推荐使用这 两种单位。px即pixels(像素),属于绝对像素,在不同的 设备上显示效果是相同的。sp为scaled pixels(放大像素 ),主要用于字体显示。

Android系统五大布局

Android系统五大布局

Android系统五大布局Android系统中为我们提供了五大布局:LinearLayout(线性布局)、FrameLayout(单帧布局)、AbsoluteLayout(绝对布局)、TablelLayout(表格布局)、RelativeLayout(相对布局)。

其中最常用的的是LinearLayout、TablelLayout和RelativeLayout。

这些布局都可以嵌套使用。

(一)RelativeLayout相对布局相对布局 RelativeLayout 允许子元素指定它们相对于其父元素或兄弟元素的位置,这是实际布局中最常用的布局方式之一。

它灵活性大很多,当然属性也多,操作难度也大,属性之间产生冲突的的可能性也大,使用相对布局时要多做些测试。

下面是常用的一些属性RelativeLayout用到的一些重要的属性:第一类:属性值为true或falseandroid:layout_centerHrizontal水平居中android:layout_centerVertical垂直居中android:layout_centerInparent相对于父元素完全居中android:layout_alignParentBottom贴紧父元素的下边缘android:layout_alignParentLeft贴紧父元素的左边缘android:layout_alignParentRight贴紧父元素的右边缘android:layout_alignParentTop贴紧父元素的上边缘android:layout_alignWithParentIfMissing 如果对应的兄弟元素找不到的话就以父元素做参照物第二类:属性值必须为id的引用名“@id/id-name”android:layout_below在某元素的下方android:layout_above在某元素的的上方android:layout_toLeftOf在某元素的左边android:layout_toRightOf在某元素的右边android:layout_alignTop本元素的上边缘和某元素的的上边缘对齐android:layout_alignLeft本元素的左边缘和某元素的的左边缘对齐android:layout_alignBottom本元素的下边缘和某元素的的下边缘对齐android:layout_alignRight本元素的右边缘和某元素的的右边缘对齐第三类:属性值为具体的像素值,如30dip,40pxandroid:layout_marginBottom离某元素底边缘的距离android:layout_marginLeft离某元素左边缘的距离android:layout_marginRight离某元素右边缘的距离android:layout_marginTop离某元素上边缘的距离EditText的android:hint设置EditText为空时输入框内的提示信息。

Android开发的六种常用布局

Android开发的六种常用布局

Android开发的六种常⽤布局本⼈是Android⼩⽩,刚刚学习Android开发,通过观看教学视屏和书籍学习,总结下Android开发的⼩知识,⼤神勿喷!第⼀种:LinearLayout:线性布局 线性布局是按照处置或者⽔平进⾏排布的,默认是⽔平 属性:orientation:⽤来指定当前的线性布局的排布⽅向。

wrap_content:包裹内容 match_parent:匹配⽗类 margin:外边距 padding:内边距 gravity:便是控件的内部内容针对控件本⾝的对其⽅式 layout_gravity:表⽰该控件⾃⾝在⽗类布局中的对齐⽅式 注:如果线性布局排布⽅式为⽔平,那么layout_gravity在⽔平的⽅向上就不起作⽤,只能在垂直的⽅向上起作⽤ layout_weight:表⽰权重的概念,即该百分⽐的形式进⾏对齐⽅式 如果控件划分的区域为wrap_content,那么权重值越⼤,所占⽐例就会越⼤ 如果控件划分的区域为match_parent,那么权重值越⼤,所占⽐例就会越⼩思考:在⼀个页⾯中,有⼀个权重的控件和⼀个⽆权重的控件,系统会先给谁分配空间尼? 答:系统肯定先给⽆权重的控件分配空间,才会得到需要百分⽐的空间⼤来进⾏百分⽐的划分。

1<?xml version="1.0" encoding="utf-8"?>2<LinearLayout xmlns:android="/apk/res/android"3 xmlns:tools="/tools"4 android:layout_width="match_parent"5 android:layout_height="match_parent"6 android:orientation="vertical"7>89<Button10android:layout_width="match_parent"11 android:layout_height="wrap_content"12 android:paddingTop="20dp"13 android:paddingBottom="20dp"14 android:layout_marginTop="20dp"15 android:layout_marginBottom="20dp"16 android:text="Button1"/>1718<Button19android:layout_width="wrap_content"20 android:layout_height="wrap_content"21 android:paddingTop="20dp"22 android:paddingBottom="20dp"23 android:paddingLeft="30dp"24 android:paddingRight="30dp"25 android:layout_gravity="center"26 android:text="Button2"/>2728</LinearLayout>第⼆种:RelativeLayout:绝对布局按照空间之间的相对位置进⾏排布,存在⼀个参照物的概念。

3.Android的布局

3.Android的布局

相对布局
常用属性 根据其他组件的id来确定
属性 说明
android:layout_toRightOf android:layout_toLeftOf adnroid:layout_above android:layout_below android:layout_alignTop android:layout_alignButtom android:layout_alignLeft android:layout_alignRight
• 在程序中设置主题
• setTheme(android.R.style.Theme_Light); • 要在setContentView(View) 和inflate(int, ViewGroup)方法前调用
常用themes
• android:theme="@android:style/Theme.Dialog" 将一个Activity显示为能话 框模式 • android:theme="@android:style/Theme.NoTitleBar" 丌显示应用程序标题栏 • android:theme="@android:style/Theme.NoTitleBar.Fullscreen" 丌显示应用 程序标题栏,并全屏 • android:theme="Theme.Light" 背景为白色 • android:theme="Theme.Light.NoTitleBar" 白色背景并无标题栏 • android:theme="Theme.Light.NoTitleBar.Fullscreen" 白色背景,无标题栏, 全屏 • android:theme="Theme.Black" 背景黑色 • android:theme="Theme.Black.NoTitleBar" 黑色背景并无标题栏 • android:theme="Theme.Black.NoTitleBar.Fullscreen" 黑色背景,无标题栏, 全屏 • android:theme="Theme.Wallpaper" 用系统桌面为应用程序背景 • android:theme="Theme.Wallpaper.NoTitleBar" 用系统桌面为应用程序背景 ,且无标题栏 • android:theme="Theme.Wallpaper.NoTitleBar.Fullscreen" 用系统桌面为应用 程序背景,无标题栏,全屏 • android:theme="Translucent" • android:theme="Theme.Translucent.NoTitleBar" • android:theme="Theme.Translucent.NoTitleBar.Fullscreen" • android:theme="Theme.Panel" • android:theme="Theme.Light.Panel"

Android系统五大布局详解

Android系统五大布局详解

Android系统五大布局详解我们知道Android系统应用程序一般是由多个Activity组成,而这些Activity以视图的形式展现在我们面前,视图都是由一个一个的组件构成的。

组件就是我们常见的Button、TextEdit等等。

那么我们平时看到的Android手机中那些漂亮的界面是怎么显示出来的呢?这就要用到Android的布局管理器了,网上有人比喻的很好:布局好比是建筑里的框架,组件按照布局的要求依次排列,就组成了用于看见的漂亮界面了。

在分析布局之前,我们首先看看控件:Android中任何可视化的控件都是从android.veiw.View继承而来的,系统提供了两种方法来设置视图:第一种也是我们最常用的的使用XML文件来配置View的相关属性,然后在程序启动时系统根据配置文件来创建相应的View视图。

第二种是我们在代码中直接使用相应的类来创建视图。

如何使用XML文件定义视图:每个Android项目的源码目录下都有个res/layout目录,这个目录就是用来存放布局文件的。

布局文件一般以对应activity的名字命名,以 .xml 为后缀。

在xml中为创建组件时,需要为组件指定id,如:android:id="@+id/名字"系统会自动在gen目录下创建相应的R资源类变量。

如何在代码中使用视图:在代码中创建每个Activity时,一般是在onCreate()方法中,调用setContentView()来加载指定的xml布局文件,然后就可以通过findViewById()来获得在布局文件中创建的相应id的控件了,如Button等。

如:private Button btnSndMag;public void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(yout.main); // 加载main.xml布局文件btnSndMag = (Button)this.findViewById(R.id.btnSndMag); // 通过id找到对于的Button组件}下面我们来介绍Android系统中为我们提供的五大布局:LinearLayout(线性布局)、FrameLayout(单帧布局)、AbsoluteLayout(绝对布局)、TablelLayout(表格布局)、RelativeLayout(相对布局)。

Android培训之五大布局讲解

Android培训之五大布局讲解

Android培训之五大布局讲解Android的界面是有布局和组件协同完成的,布局好比是建筑里的框架,而组件则相当于建筑里的砖瓦。

组件按照布局的要求依次排列,就组成了用户所看见的界面。

Android的五大布局分别是LinearLayout(线性布局)、FrameLayout(单帧布局)、RelativeLayout(相对布局)、AbsoluteLayout(绝对布局)和TableLayout(表格布局)。

LinearLayout:LinearLayout按照垂直或者水平的顺序依次排列子元素,每一个子元素都位于前一个元素之后。

如果是垂直排列,那么将是一个N行单列的结构,每一行只会有一个元素,而不论这个元素的宽度为多少;如果是水平排列,那么将是一个单行N列的结构。

如果搭建两行两列的结构,通常的方式是先垂直排列两个元素,每一个元素里再包含一个LinearLayout进行水平排列。

LinearLayout中的子元素属性android:layout_weight生效,它用于描述该子元素在剩余空间中占有的大小比例。

加入一行只有一个文本框,那么它的默认值就为0,如果一行中有两个等长的文本框,那么他们的android:layout_weight值可以是同为1。

如果一行中有两个不等长的文本框,那么他们的android:layout_weight值分别为1和2,那么第一个文本框将占据剩余空间的三分之二,第二个文本框将占据剩余空间中的三分之一。

FrameLayout:FrameLayout是五大布局中最简单的一个布局,在这个布局中,整个界面被当成一块空白备用区域,所有的子元素都不能被指定放置的位置,它们统统放于这块区域的左上角,并且后面的子元素直接覆盖在前面的子元素之上,将前面的子元素部分和全部遮挡。

显示效果如下,第一个TextView被第二个TextView完全遮挡,第三个TextView遮挡了第二个TextView的部分位置。

android布局讲义

android布局讲义

创建资源
路径 res/xml/ 资源类型 任何XML文件可以进行编译,并能 在运行时调用Resources.getXML() 显示XML原文件。 这里的任何文件都将直接被复制到设备 上。编译产品时,这些数据不会被编译, 它们被直接加入到程序包里。在程序中调用 Resources.openRawResource() , 参数为ID: R.raw.somefilename.来使用这些资源
创建资源
路径 res/values/ 资源类型 可编译成多种类型资源的文件 注意 不像其他 res/ 文件夹, 注意: 它能容纳任何数量的文件,但只是描述其创建而不是资源本身. XML的元素类型可以决定这些资源在R.class里什么位置被替换 . 文件可以被命名为任何名字,文件夹里有一些典型的文件 (一般约定文件以定义的元素类型后面部分为文件名): arrays.xml 定义数组 colors.xml 定义 颜色 和 颜色字串数值. 可以使用 Resources.getDrawable() 以及 Resources.getColor() 取得这些资源. dimens.xml 定义 尺寸数据 . 使用 Resources.getDimension() 取得这些资源。 strings.xml 定义字符串数值 ,使用 Resources.getString 或 Resources.getText() 取得资源
RelativeLayout
一个按照相对位置排列的布局 在RelativeLayout布局里的控件包含丰富的排列属性 : layout_below="@id/label"说明该控件唯一ID为label的控件的下面, layout_above就表示位于上面; layout_toLeftOf="@id/ok"表示位于 ID为ok的控件的左边,layout_toRightOf就是位于右边; layout_alignTop="@id/ok"表示与Id为ok的控件时顶对齐, layout_alignLeft、layout_alignRight、layout_alignBottom就分别表 示是左、右、底对齐;layout_marginLeft= "10px"表示该控件左边 的边缘有10个像素的空白,其他的同理; layout_alignParentRight="true"表示该控件和其兄弟是右对齐的

Android基础知识及线性布局介绍

Android基础知识及线性布局介绍

Android基础知识及线性布局介绍⽬录1.常见控件的基本属性1.1控件的可见性1.2控件的外边距1.3控件的内边距2.线性布局(Linear Layout)2.1⽰例:2.2微信界⾯实战3.总结1.常见控件的基本属性android:id="@+id/button1":【设置控件id】android:layout_width【设置控件宽度】/android:layout_height【设置控件⾼度】wrap_content【控件的⼤⼩由内部决定】match_parent【控件的⼤⼩与⽗控件保持⼀致】android:text=" ":【设置组件⽂本】android:textColor=" ":【设置字体颜⾊】android:layout_marginLeft:【当前布局与⽗布局左边缘的距离】android:layout_marginRight:【当前布局与⽗布局右边缘的距离】android:layout_marginTop:【当前布局与⽗布局顶部边缘的距离】android:layout_marginBottom:【当前布局与⽗布局底部边缘的距离】android:gravity :【view⾥⾯的内容在这个view中的位置】android:layout_gravity :【这个view相对于它⽗view的位置】1、gravity在线性布局中不起任何作⽤,layout_gravity在线性布局中起作⽤;2、当我们使⽤ android:orientation=“vertical” 时, android:layout_gravity只有⽔平⽅向的设置才起作⽤,垂直⽅向的设置不起作⽤。

即:left,right,center_horizontal 是⽣效的;3、当我们使⽤android:orientation=“horizontal” 时, android:layout_gravity只有垂直⽅向的设置才起作⽤,⽔平⽅向的设置不起作⽤。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档