01 2016 档案

摘要:现在你已经将关于碎片的重要知识点都掌握得差不多了,不过在灵活运用方面可能还有 些欠缺,因此又该进入我们本章的最佳实践环节了。前面有提到过,碎片很多时候都是在平板开发当中使用的,主要是为了解决屏幕空间不 能充分利用的问题。那是不是就表明,我们开发的程序都需要提供一个手机版和一个 Pad 版 呢?确实有... 阅读全文
posted @ 2016-01-27 11:05 dodo-yufan 阅读(460) 评论(0) 推荐(0) 编辑
摘要:虽然动态添加碎片的功能很强大,可以解决很多实际开发中的问题,但是它毕竟只是在 一个布局文件中进行一些添加和替换操作。如果程序能够根据设备的分辨率或屏幕大小在运 行时来决定加载哪个布局,那我们可发挥的空间就更多了。因此本节我们就来探讨一下 Android 中动态加载布局的技巧。4.4.1 使用限定符如... 阅读全文
posted @ 2016-01-27 11:03 dodo-yufan 阅读(3097) 评论(0) 推荐(0) 编辑
摘要:和活动一样,碎片也有自己的生命周期,并且它和活动的生命周期实在是太像了,我相 信你很快就能学会,下面我们马上就来看一下。4.3.1 碎片的状态和回调还记得每个活动在其生命周期内可能会有哪几种状态吗?没错,一共有运行状态、暂停 状态、停止状态和销毁状态这四种。类似地,每个碎片在其生命周期内也可能会经历... 阅读全文
posted @ 2016-01-27 11:01 dodo-yufan 阅读(4034) 评论(0) 推荐(0) 编辑
摘要:介绍了这么多抽象的东西,也是时候应该学习一下碎片的具体用法了。你已经知道,碎 片通常都是在平板开发中才会使用的,因此我们首先要做的就是新建一个平板电脑的模拟 器。由于 4.0 系统的平板模拟器好像存在 bug,这里我就新建一个 4.2 系统的平板模拟器,如 图 4.4 所示。图 4.4现在启动这个平... 阅读全文
posted @ 2016-01-27 10:58 dodo-yufan 阅读(2405) 评论(0) 推荐(0) 编辑
摘要:碎片(Fragment)是一种可以嵌入在活动当中的 UI 片段,它能让程序更加合理和充分 地利用大屏幕的空间,因而在平板上应用的非常广泛。虽然碎片对你来说应该是个全新的概 念,但我相信你学习起来应该毫不费力,因为它和活动实在是太像了,同样都能包含布局, 同样都有自己的生命周期。你甚至可以将碎片理解成... 阅读全文
posted @ 2016-01-27 10:55 dodo-yufan 阅读(874) 评论(0) 推荐(0) 编辑
摘要:写了两个Activity,确定java代码和xml配置文件没问题之后,运行工程,报错:E/AndroidRuntime(10513): FATAL EXCEPTION: mainE/AndroidRuntime(10513): java.lang.RuntimeException: Unable t... 阅读全文
posted @ 2016-01-27 10:33 dodo-yufan 阅读(3737) 评论(0) 推荐(0) 编辑
摘要:1、 题外话相信大家对LayoutInflate都不陌生,特别在ListView的Adapter的getView方法中基本都会出现,使用inflate方法去加载一个布局,用于ListView的每个Item的布局。Inflate有三个参数,我在初学Android的时候这么理解的:对于Inflate的三... 阅读全文
posted @ 2016-01-08 19:57 dodo-yufan 阅读(279) 评论(0) 推荐(0) 编辑
摘要:我们制 作的 message_left.9.png 可以作为收到消息的背景图,那么毫无疑问你还需要再制作一张 message_right.9.png 作为发出消息的背景图。图片都提供好了之后就可以开始编码了,首先还是编写主界面,修改 activity_main.xml中的代码,如下所示: ... 阅读全文
posted @ 2016-01-08 19:27 dodo-yufan 阅读(408) 评论(0) 推荐(0) 编辑
摘要:它是一种被特殊处理过的 png 图片,能够指定哪些区域可以被拉伸而 哪些区域不可以。那么 Nine-Patch 图片到底有什么实际作用呢?我们还是通过一个例子来看一下吧。比如 说项目中有一张气泡样式的图片 message_left.png,如图 3.38 所示。图 3.38我们将这张图片设置为一个 ... 阅读全文
posted @ 2016-01-08 19:22 dodo-yufan 阅读(5161) 评论(0) 推荐(0) 编辑
摘要:为了要让程序拥有更好的屏幕适配能力,在指定控件和布局大小的时候 最好使用 match_parent 和 wrap_content,尽量避免将控件的宽和高设定一个固定值。不过在 有些情况下,仅仅使用 match_parent 和 wrap_content 确实无法满足我们的需求,这时就必须 要给控件的... 阅读全文
posted @ 2016-01-08 19:20 dodo-yufan 阅读(533) 评论(0) 推荐(0) 编辑
摘要:之所以说 ListView 这个控件很难用,就是因为它有很多的细节可以优化,其中运行效率 就是很重要的一点。目前我们 ListView 的运行效率是很低的,因为在 FruitAdapter 的 getView() 方法中每次都将布局重新加载了一遍,当 ListView 快速滚动的时候这就会成为性能的... 阅读全文
posted @ 2016-01-08 19:18 dodo-yufan 阅读(682) 评论(0) 推荐(0) 编辑
摘要:只能显示一段文本的 ListView 实在是太单调了,我们现在就来对 ListView 的界面进行 定制,让它可以显示更加丰富的内容。首先需要准备好一组图片,分别对应上面提供的每一种水果,待会我们要让这些水果名 称的旁边都有一个图样。接着定义一个实体类,作为 ListView 适配器的适配类型。新建... 阅读全文
posted @ 2016-01-08 19:17 dodo-yufan 阅读(1000) 评论(0) 推荐(0) 编辑
摘要:首 先新 建 一个 ListViewTest 项 目, 并 让 ADT 自 动帮 我 们创 建 好 活动 。 然后 修 改activity_main.xml 中的代码,如下所示:在布局中加入 ListView 控件还算非常简单,先为 ListView 指定了一个 id,然后将宽度 和高度都设置为 m... 阅读全文
posted @ 2016-01-08 19:16 dodo-yufan 阅读(1018) 评论(0) 推荐(0) 编辑
摘要:在前面两节我们已经学习了 Android 中的一些常见控件以及基本布局的用法,不过当时 我们并没有关注这些控件和布局的继承结构,现在是时候应该看一下了,如图 3.26 所示。图 3.26可以看到,我们所用的所有控件都是直接或间接继承自 View 的,所用的所有布局都是直接或间接继承自 ViewGro... 阅读全文
posted @ 2016-01-08 19:15 dodo-yufan 阅读(7990) 评论(1) 推荐(0) 编辑
摘要:一个丰富的界面总是要由很多个控件组成的,那我们如何才能让各个控件都有条不紊地 摆放在界面上,而不是乱糟糟的呢?这就需要借助布局来实现了。布局是一种可用于放置很 多控件的容器,它可以按照一定的规律调整内部控件的位置,从而编写出精美的界面。当然, 布局的内部除了放置控件外,也可以放置布局,通过多层布局的... 阅读全文
posted @ 2016-01-08 19:12 dodo-yufan 阅读(1000) 评论(0) 推荐(0) 编辑
摘要:ProgressDialog 和 AlertDialog 有点类似,都可以在界面上弹出一个对话框,都能够屏蔽 掉其他控件的交互能力。不同的是,ProgressDialog 会在对话框中显示一个进度条,一般是 用于表示当前操作比较耗时,让用户耐心地等待。它的用法和 AlertDialog 也比较相似,... 阅读全文
posted @ 2016-01-08 19:08 dodo-yufan 阅读(1077) 评论(0) 推荐(0) 编辑
摘要:AlertDialog 可以在当前的界面弹出一个对话框,这个对话框是置顶于所有界面元素之上 的,能够屏蔽掉其他控件的交互能力,因此一般 AlertDialog 都是用于提示一些非常重要的 内容或者警告信息。比如为了防止用户误删重要内容,在删除前弹出一个确认对话框。下面 我们来学习一下它的用法,修改 ... 阅读全文
posted @ 2016-01-08 19:07 dodo-yufan 阅读(805) 评论(0) 推荐(0) 编辑
摘要:ProgressBar 用于在界面上显示一个进度条,表示我们的程序正在加载一些数据。它的用 法也非常简单,修改 activity_main.xml 中的代码,如下所示:……重新运行程序,会看到屏幕中有一个圆形进度条正在旋转,如图 3.11 所示。图 3.11这时你可能会问,旋转的进度条表明我们的程序... 阅读全文
posted @ 2016-01-08 19:06 dodo-yufan 阅读(868) 评论(0) 推荐(0) 编辑
摘要:ImageView 是用于在界面上展示图片的一个控件,通过它可以让我们的程序界面变得更加 丰富多彩。学习这个控件需要提前准备好一些图片,由于目前 drawable 文件夹下已经有一张 ic_launcher.png 图片了,那我们就先在界面上展示这张图吧,修改 activity_main.xml,如... 阅读全文
posted @ 2016-01-08 19:05 dodo-yufan 阅读(610) 评论(0) 推荐(0) 编辑
摘要:EditText 是程序用于和用户进行交互的另一个重要控件,它允许用户在控件里输入和编 辑内容,并可以在程序中对这些内容进行处理。EditText 的应用场景应该算是非常普遍了, 发短信、发微博、聊 QQ 等等,在进行这些操作时,你不得不使用到 EditText。那我们来看 一看如何在界面上加入 E... 阅读全文
posted @ 2016-01-08 19:04 dodo-yufan 阅读(666) 评论(0) 推荐(0) 编辑
摘要:Button 是程序用于和用户进行交互的一个重要控件,相信你对这个控件已经是非常熟悉 了,因为我们在上一章用了太多次 Button。它可配置的属性和 TextView 是差不多的,我们 可以在 activity_main.xml 中这样加入 Button:…加入 Button 之后的界面如图 3.4... 阅读全文
posted @ 2016-01-08 19:03 dodo-yufan 阅读(318) 评论(0) 推荐(0) 编辑
摘要:3.2.1 TextViewTextView 可以说是 Android 中最简单的一个控件了,你在前面其实也已经和它打过了一 些打交道。它主要用于在界面上显示一段文本信息,比如你在第一章看到的 Hello world!下 面我们就来看一看关于 TextView 的更多用法。将 activity_ma... 阅读全文
posted @ 2016-01-08 19:01 dodo-yufan 阅读(373) 评论(0) 推荐(0) 编辑
摘要:最近看到朋友制作的Android APP使用了极少的图片,但是图形却极其丰富,问了之后得知是使用shape绘制的,有很多优点。下面是我整理的一些素材:预览下面是图片预览:代码布局文件 shape文件绿色标签s1.xml: 橙色标签s2.xm... 阅读全文
posted @ 2016-01-08 10:46 dodo-yufan 阅读(354) 评论(0) 推荐(0) 编辑
摘要:一、工具介绍这是一张PNG图片,为了方便观看做的比较大。在Android中使用NinePatch图片的一般都是很小的图片,因为当内容多了的时候,背景会自动拉伸来适应内容,而如果图片做大了,内容少,则图片也不会自动变小,所以用作NinePatch图片的png图片一般是比较小的。打开Android自带的... 阅读全文
posted @ 2016-01-08 09:33 dodo-yufan 阅读(476) 评论(0) 推荐(0) 编辑
摘要:[java]ViewHolderholder=null;if(convertView==null){convertView=mInflater.inflate(R.layout.xxxnull);holder=newViewHolder();holder.tvXXX=(TextView)findVi... 阅读全文
posted @ 2016-01-07 18:37 dodo-yufan 阅读(523) 评论(0) 推荐(0) 编辑
摘要:Adapter 有个getView方法,可以使用setTag把查找的view缓存起来方便多次重用public View getView(int position, View convertView, ViewGroup parent) {ViewHolder vh;if (convertView =... 阅读全文
posted @ 2016-01-07 18:36 dodo-yufan 阅读(1491) 评论(0) 推荐(0) 编辑
摘要:简介:java.lang.SuppressWarnings是J2SE 5.0中标准的Annotation之一。可以标注在类、字段、方法、参数、构造方法,以及局部变量上。作用:告诉编译器忽略指定的警告,不用在编译完成后出现警告信息。使用:@SuppressWarnings(“”)@SuppressWa... 阅读全文
posted @ 2016-01-07 14:50 dodo-yufan 阅读(1822) 评论(0) 推荐(0) 编辑
摘要:HashMap是java里比较常用的一个集合类,我比较习惯用来缓存一些处理后的结果。最近在做一个Android项目,在代码中定义这样一个变量,实例化时,Eclipse却给出了一个 performance 警告。意思就是说用SparseArray来替代,以获取更好性能。老实说,对SparseArray... 阅读全文
posted @ 2016-01-07 14:43 dodo-yufan 阅读(1657) 评论(0) 推荐(0) 编辑
摘要:Layout inflation在Android上下文环境下转换XML文件成View结构对象的时候需要用到。LayoutInflater这个对象在Android的SDK中很常见,但是你绝对没想到竟然能够找到一个使用误区。说不定你的App里就是这么用的!如果你在写APP的时候像如下代码一样使用Layo... 阅读全文
posted @ 2016-01-07 08:57 dodo-yufan 阅读(2228) 评论(1) 推荐(1) 编辑

点击右上角即可分享
微信分享提示