Welcome 微信登录

首页 / 移动开发 / Android

ListView的View回收引起的checkbox状态改变监听等问题解决方案

ListView的View回收引起的checkbox状态改变监听等问题解决方案

之前讲到了自定义Adapter传递给ListView时,因为ListView的View回收,需要注意当ListView列表项中包含有带有状态标识控件的问题。详情可见之前发的帖[url=自定义Adapter实现ListView带多选框等状态控件的注意事项 http://www.jb51.net/article/33425.htm还是这个问题,讲一个我遇到的因为两行代码位置相反引起的问题。 我的ListView中每行View包含一个ImageView、Text...
Adapter实现ListView带多选框等状态的自定义控件的注意事项

Adapter实现ListView带多选框等状态的自定义控件的注意事项

Android本身为ListView提供了几个方便的Adapter,比如ArrayAdapter、SimpleCurrentAdapter等等。但是为了实现更复杂的列表视图和控制,一般都要继承BaseAdapter来实现自己的Adapter。 我需要的ListView是如图一样的实现SD卡资源文件浏览列表,每个列表项由一个ImageView、TextView、CheckBox组成,并且要求当整个列表中有一个或一个以上的Checkbox被选中时,右上角的搜索...
WindowManagerService服务是如何以堆栈的形式来组织窗口

WindowManagerService服务是如何以堆栈的形式来组织窗口

我们知道,在Android系统中,Activity是以堆栈的形式组织在ActivityManagerService服务中的。与Activity类似,Android系统中的窗口也是以堆栈的形式组织在WindowManagerService服务中的,其中,Z轴位置较低的窗口位于Z轴位置较高的窗口的下面。在本文中,我们就详细分析WindowManagerService服务是如何以堆栈的形式来组织窗口的。从前面Android应用程序启动过程源代码分析一文可以知道,...
Android模拟器中窗口截图存成文件实现思路及代码

Android模拟器中窗口截图存成文件实现思路及代码

Android模拟器内容是用OpenGL渲染的,所以用一般的编程截图(如PrintWindow()等)会是黑屏。这是因为画的东西放在framebuffer里。 一种方法是通过adb把guest的framebuffer数据/dev/graphics/fb0倒到host,再转为图片。但这样速度比较慢。 好在Android模拟器中把guest的framebuffer传到host进行显示,所以在host端只要将framebuffer输出到文件即可。首先定义每次fr...
Android开发技巧之我的菜单我做主(自定义菜单)

Android开发技巧之我的菜单我做主(自定义菜单)

Android SDK本身提供了一种默认创建菜单的机制。但通过这种机制创建的菜单虽然从功能上很完备,但在界面效果上实在是有点“土”。对于一个拥有绚丽界面的程序配上一个有点“土”的菜单,会使用户感觉很怪,甚至会使绚丽的界面大打折扣。实际上,对于如此灵活和强大的Android系统,修改菜单的样式只是小菜一碟。为程序加入漂亮菜单的方法很多。在本节先介绍一种比较常用的方法,就是通过onKeyDown事件方法和PopupWindow实现自定义的菜单。至于通过这种技...
Android开发技巧之ViewStub控件惰性装载

Android开发技巧之ViewStub控件惰性装载

在4.5.6节介绍过一个<include>标签,该标签可以在布局文件中引用另外一个布局文件,并可以覆盖被引用布局文件根节点所有与布局相关的属性,也就是以android:layout开头的属性。通过<include>标签可以将一个非常庞大的布局文件分解成若干个较小的布局文件,而且这些小的布局文件也可以被多次引用,从而达到一个重用的目的。 <include>标签固然很好用,但有一个问题,就是布局文件中的控件并不一定在程序启动...
Android开发技巧之永不关闭的Toast信息框(长时间显示而非系统关闭)

Android开发技巧之永不关闭的Toast信息框(长时间显示而非系统关闭)

Toast信息提示框之所以在显示一定时间后会自动关闭,是因为在系统中有一个Toast队列。系统会依次从队列中取(出队列)一个Toast,并显示它。在显示一段时间后,再关闭,然后再显示下一个Toast信息提示框。直到Toast队列中所有Toast都显示完为止。那么有些时候需要这个Toast信息提示框长时间显示,直到需要关闭它时通过代码来控制,而不是让系统自动来关闭Toast信息提示框。不过这个要求对于Toast本身来说有些过分,因为Toast类并没有提供这个...
Android开发技巧之像QQ一样输入文字和表情图像

Android开发技巧之像QQ一样输入文字和表情图像

EditText和TextView一样,也可以进行图文混排。所不同的是,TextView只用于显示图文混排效果,而EditText不仅可显示,也可混合输入文字和图像,让我们先回顾一下图5.2所示的QQ聊天输入框,在输入框中可以同时输入文字和表情图像。实际上,这种效果在Android SDK中只需要几行代码就可以实现。为了使读者更有学习的冲动,先来欣赏一下即将实现的效果,如图5.16所示。 图5.16 在EditText控件中输入文字和图像 为了实现这个程序...
Android开发技巧之在a标签或TextView控件中单击链接弹出Activity(自定义动作)

Android开发技巧之在a标签或TextView控件中单击链接弹出Activity(自定义动作)

在5.2.1节和5.2.2节介绍了<a>标签以及TextView自动识别的特殊文本(网址、电话号、Email等),这些都可以通过单击来触发不同的动作。虽然这些单击动作已经可以满足大多数需要了,但如果读者想在单击链接时执行任意自定义的动作,那么本节的内容非看不可。 现在让我们使用5.2.1节介绍的方法重新查看Html.java文件的内容,随便找一个处理Html标签的方法,例 如,endA方法。该方法用于处理</a>标签。我们会发现在该...
Android 编程下字库的使用及注意事项

Android 编程下字库的使用及注意事项

在安卓操作系统下对于 TextView 字体的支持非常有限,默认情况下 TextView 的 typeface 属性支持 "Sans","serif","monospace" 这三种字体,如果在没有指定字体的情况下,系统缺省会使用 "Sans" 作为文本显示的字体。但这三种字体只支持英文,也就是说只要你显示的文字是中文,无论你选择这三种字体中的哪一种,显示效果都是一样的。为此,谷歌又提供了另外一种字体的支持方式:字库。在 Android 2.2 版本中,安...
android的消息处理机制(图文+源码分析)—Looper/Handler/Message

android的消息处理机制(图文+源码分析)—Looper/Handler/Message

这篇文章写的非常好,深入浅出,关键还是一位大三学生自己剖析的心得。这是我喜欢此文的原因。下面请看正文:作为一个大三的预备程序员,我学习android的一大乐趣是可以通过源码学习google大牛们的设计思想。android源码中包含了大量的设 计模式,除此以外,android sdk还精心为我们设计了各种helper类,对于和我一样渴望水平得到进阶的人来说,都太值得一读了。这不,前几天为了了解android的消息处理机 制,我看了Looper,Handler...
Android界面设计(APP设计趋势 左侧隐藏菜单右边显示content)

Android界面设计(APP设计趋势 左侧隐藏菜单右边显示content)

相关文章android popwindow实现左侧弹出菜单层http://www.jb51.net/article/33533.htm移动App设计的13大精髓http://www.jb51.net/article/33534.htm这文章讲述了2013年未来的移动APP设计趋势,感觉挺有道理的。wp8的平面界面设计已经取得很大的成功,很多应用也都是采取相同的设计如zaker,还有类似本文要展示的左侧导航菜单右边显示主要内容的设计,通过menu菜单或者左右...
android popwindow实现左侧弹出菜单层及PopupWindow主要方法介绍

android popwindow实现左侧弹出菜单层及PopupWindow主要方法介绍

PopupWindow可以实现浮层效果,主要方法有:可以自定义view,通过LayoutInflator方法;可以出现和退出时显示动画;可以指定显示位置等。 为了将PopupWindow的多个功能展现并力求用简单的代码实现,编写了一个点击按钮左侧弹出菜单的功能,实现出现和退出时显示动画效果并点击其他区域时弹出层自动消失,效果图如下: 源码: 1.PopwindowOnLeftActivity.java 复制代码 代码如下: package com.pop....
2013年 移动App设计13项注意细节总结

2013年 移动App设计13项注意细节总结

导读:在过去的一年里,移动成主流也让众多的移动应用如雨后春笋般层出不穷,在众多开发者从中获利的同时竞争也愈演愈烈,如何才能保证自己立于不败之地?用户是上帝,一切还得从应用说起。 对于刚刚过去的2012年,你最想说什么?2012年的移动开发领域足以用“风起云涌,瞬息万变”来形容,移动应用市场蓬勃发展也让众多的移动应用开发者获利匪浅,也由此涌现出了许多优秀的应用设计,随着用户的品质需求的上升,App界面设计也被提升到了全新的高度。移动应用实现了从互联网到移动设...
Android系统开发中log的使用方法及简单的原理

Android系统开发中log的使用方法及简单的原理

在程序开发过程中,LOG是广泛使用的用来记录程序执行过程的机制,它既可以用于程序调试,也可以用于产品运营中的事件记录。在Android系统中,提供了简单、便利的LOG机制,开发人员可以方便地使用。在平时开发过程中经常需要与log打交道,所以很有必要了解log的使用方法及简单的原理。1、linux内核的log输出 在标准的linux内核开发过程中,使用printk,这是一个与printf输出打印齐名的函数,同样提供格式化输出功能,只是其有 打印级别且将信息保...
Android开发之图形图像与动画(一)Paint和Canvas类学习

Android开发之图形图像与动画(一)Paint和Canvas类学习

Paint类 *Paint类代表画笔,用来描述图形的颜色和风格,如线宽,颜色,透明度和填充效果等信息。 *使用Paint类时,需要先创建该类的对象,可以通过该类的构造函数实现。通常情况的实现代码是: *Paintpaint=newPaint(); *创建完Paint对象后,可以通过该对象提供的方法对画笔的默认设置进行改变 Canvas *Canvas类代表画布,通过该类提供的构造方法,可以绘制各种图形。 *通常情况下,要在Android中绘图,需要先创建一...
Android开发之图形图像与动画(二)Animation实现图像的渐变/缩放/位移/旋转

Android开发之图形图像与动画(二)Animation实现图像的渐变/缩放/位移/旋转

Android 平台提供了两类动画。 一类是Tween动画,就是对场景里的对象不断的进行图像变化来产生动画效果(旋转、平移、放缩和渐变)。 下面就讲一下Tweene Animations。 主要类: Animation 动画 AlphaAnimation 渐变透明度 RotateAnimation 画面旋转 ScaleAnimation 渐变尺寸缩放 TranslateAnimation 位置移动 AnimationSet 动画集 一.AlphaAnima...
Android开发之图形图像与动画(三)Animation效果的XML实现

Android开发之图形图像与动画(三)Animation效果的XML实现

使用XML来定义Tween Animation 动画的XML文件在工程中res/anim目录,这个文件必须包含一个根元素,可以使<alpha><scale> <translate> <rotate>插值元素或者是把上面的元素都放入<set>元素组中,默认情况下,所以的动画指令都是同时发生的,为了让他们按序列发生,需要设置一个特殊的属性startOffset。动画的指令定义了你想要发生什么样的转换,...
<< 101 102 103 104 105 106 107 108 109 110 >>