上一页 1 ··· 9 10 11 12 13 14 15 下一页
网格布局由GridLayout代表,它是Android 4.0新增的布局管理器,因此需要在Android 4.0 之后的版本中才能使用该布局管理器。如果希望在更早的Android平台上使用该布局管理器,则需要导入响应的支撑库。GridLayout的作用类似于HTML中的table标签,它把整个容器划分成rows*columns个网格,每个网格可以放置一个组件。除此之外,也可以设置一个组件横跨多少列、一个组件纵跨多少行。 GridLayout提供了setRowCount(int)和setColumnCount(int)方法来控制该网格的行数量和列数量。 表2.11显示了GridLayout常用. Read More
posted @ 2013-09-26 15:13 TealerProg Views(1477) Comments(0) Diggs(0) Edit
相对布局由RelativeLayout代表,相对布局容器内子组件的位置总是相对兄弟组件、父容器来决定的,因此这种布局方式被称为相对布局。 如果A组件的位置是由B组件的位置来决定的,Android要求先定义B组件,再定义A组件。 RelativeLayout可支持如表2.8所示的两个XML属性。 表2.8 RelativeLayout的XML属性及相关方法说明XML属性相关方法说明android:gravitysetGraviy(int)设置该布局容器内各子组件的对齐方式android:ignoreGravtysetIgnoreGravity(int)设置哪个组件不受gravity属性的影响为. Read More
posted @ 2013-09-26 14:18 TealerProg Views(1341) Comments(0) Diggs(0) Edit
帧布局由FrameLayout所代表,FrameLayout直接继承了ViewGroup组件。 帧布局容器为每个加入其中的组件创建一个空白区域(称为一个帧),每个子组件占据一帧,这些帧都会根据gravity属性执行自动对齐。帧布局的效果是把组件一个一个地叠加在一起。表2.7显示了FrameLayout常用的XML属性及相关方法说明。 表2.7 FrameLayout的常用XML属性及相关方法XML属性相关方法 说 明android:foregroundsetForeground(Drawable)设置该帧布局容器的前景图像android:foregroundGravitysetForegro. Read More
posted @ 2013-09-26 11:36 TealerProg Views(1778) Comments(0) Diggs(0) Edit
表格布局由TableLayout所代表,TableLayout继承了LinearLayout,因此它的本质依然是线性布局管理器。表格布局采用行、列的形式来管理UI组件,TableLayout并不需要明确地声明包含多少行、多少列,而是通过添加TableRow、其他组件来控制表格的行数和列数。 每次向TableLayout中添加一个TableRow,该TableRow就是一个表格行,TableRow也是容器,因此它也可以不断地添加其他组件,每添加一个子组件该表格就增加一列。 如果直接向TableLayout中添加组件,那么这个组件将直接占用一行。 在表格布局中,列的宽度由该列中最宽的那个单元格决. Read More
posted @ 2013-09-26 10:58 TealerProg Views(467) Comments(0) Diggs(0) Edit
Android的布局管理器本身就是一个UI组件,所有的布局管理器都是ViewGroup的子类。图2.7显示了Android布局管理器的类图。图2.7 Android布局管理器的类图从图2.7可以看出,所有布局都可作为容器类使用,因此可以调用多个重载的addView()向布局管理器中添加组件。实际上,我们完全可以用一个布局管理器嵌套到其他布局管理器中——因为布局管理器也继承了View,也可以作为普通UI组件使用。线性布局线性布局由LinearLayout类来代表,它会将容器里的组件一个挨着一个地排列起来。LinearLayout可以控制各组件横向排列(通过设置android:orientati. Read More
posted @ 2013-09-25 21:06 TealerProg Views(673) Comments(0) Diggs(0) Edit
View组件的作用类似于一个矩形的空白区域,View组件没有任何内容。对于Android应用的其他UI组件来说,它们都继承了View组件,然后在View组件提供的空白区域上绘制外观。 基于Android UI组件的实现原理,开发者完全可以开发出项目定制的组件——当Android系统提供的UI组件不足以满足项目需要时,开发者可以通过继承View来派生自定义组件。 当开发者打算派生自己的UI组件时,首先定义一个继承View基类的子类,然后重写View类的一个或多个方法,通常可以被用户重写的方法如下。 构造器:重写构造器是定制View的最基本方式,当Java代码创建一个View实例,或根据XML布. Read More
posted @ 2013-09-25 11:29 TealerProg Views(386) Comments(0) Diggs(0) Edit
完全使用Java代码来控制UI界面不仅烦琐、而且不利于解耦;而完全利用XML布局文件来控制UI界面虽然方便、便捷,但难免有失灵活。因此有些时候,可能需要混合使用XML布局文件和代码来控制UI界面。当混合使用XML布局文件和代码来控制UI界面时,习惯上把变化下、行为比较固定的组件放在XML布局文件中管理,而那些变化较多、行为控制比较复杂的组件则交给Java代码老管理。实例:简单图片浏览器 前台代码: 上面的布局文件只是定义了一个简答线性布局。接下来我们会在程序中获取该线性布局容器,并往该容器中添加组件。下面是该示例的程序代码。后台代码:package org.crazyit.ui;import. Read More
posted @ 2013-09-25 10:39 TealerProg Views(1219) Comments(0) Diggs(0) Edit
虽然Android推荐使用XML布局文件来控制UI界面,但如果开发者愿意,Android允许开发者完全抛弃XML布局文件,完全在Java代码中控制UI界面。实例:用编程的方式开发UI界面package org.crazyit.helloworld;import android.os.Bundle;import android.app.Activity;import android.view.Menu;import android.view.ViewGroup;import android.widget.*;import android.view.View;import android.view Read More
posted @ 2013-09-24 21:27 TealerProg Views(514) Comments(0) Diggs(0) Edit
一、视图组件与容器组件 Android应用的绝大部分UI组件都放在android.widget包及其子包、android.view包及其子包中,Android应用的所有UI组件都继承了View类。 View类有重要的子类:ViewGroup,但ViewGroup通常作为其他组件的容器使用。 Android的所有UI组件都是建立在View、ViewGroup基础之上的,Android采用了“组合器”设计模式来设计View和ViewGroup:ViewGroup是View的子类,因此ViewGroup也可被当成View使用。对于一个Android应用的图形图形用户界面来说,ViewGroup作为容 Read More
posted @ 2013-09-24 08:43 TealerProg Views(609) Comments(0) Diggs(1) Edit
1、List与LinkedList List是数组链表LinkedList是指针链表 选择List还是LinkedList要看你的使用特点。 数组链表访问快,复杂度O(1),但是添加删除复杂度O(n) 指针链表访问复杂度是O(n),但是添加删除很快O(1) 只不过一般有习惯而已,比如二叉树,一般都是用指针实现,你想用数组实现也没有任何问题,而且有的时候算法需要数组实现。 你需要了解一个数据结构特点,进行算法复杂度分析,就能够针对你的应用程序选择合适的方法。2、LinkedList和ArrayList LinkedList与ArrayList分别是list最常用的两个子类, LinkedLi.. Read More
posted @ 2013-08-15 15:07 TealerProg Views(321) Comments(0) Diggs(0) Edit
上一页 1 ··· 9 10 11 12 13 14 15 下一页