- 博客(52)
- 收藏
- 关注
原创 ColorDrawable draw方法的兼容问题
android内置的ProgressBar控件里不少的方法充斥着交叉的synchronized锁。很多时候刷进度导致ProgressBar显示不出来,也没见哪里设置隐藏的,估计是锁导致的,浪费时间看源码。android ui的更新本来就限制死在ui线程里,乱加神码锁,脑残!解决问题只能自己画进度条了。 UI元素比较简单,不需要动画、SecondaryProgress,所以可以简...
2014-05-21 21:47:13
208
原创 ListView嵌入ViewPager等横向滚动控件冲突的终究解决方案
ListView嵌入ViewPager等横向滚动控件,会导致ViewPager左右拨动和ListView手势冲突。按经验(Gallery中的子视图处理Click事件)只要比对滑动的X坐标大于Y坐标,就交由ViewPager处理,应该是个简单的问题。实际search到的比较火方案的思路是用SimpleOnGestureListener的onScroll回调中判断X、Y坐标拨动绝对值是否...
2014-01-20 21:34:21
251
原创 viewflow的兼容问题
本打算用ViewFlow来实现项目中的相关功能的。在该项目的主页 里作者只是提醒在api level8以下注意事项The manifest states a min sdk version of 4, which is true. But in any case you want to support an api level < 8 you will have to for...
2014-01-15 20:48:27
119
原创 一些机型TextView:ellipsize设置了Marquee还显示省略号的问题
奇葩的发现在三星S4上设置TextView的ellipsize="marquee"居然显示省略号。翻阅TextView源码发现有一段代码涉及到ViewConfiguration if (ViewConfiguration.get(context).isFadingMarqueeEnabled()) { setH...
2013-12-13 10:32:21
610
原创 除TextView超链接下划线
没发现有相关的属性,google一下都是重写Span。做个记录 private void stripUnderLines(TextView tv) { try { Spannable text = (Spannable) tv.getText(); if (text == null) return; URLSpan[] old ...
2013-12-13 10:11:11
122
原创 android中角标的实现
如下图,角标在移动设备中是比较常见的ui元素。各种“最新”、“vip”、“最热”之类的层出不穷。 在展现上最简单的做法是让ui同学ps一张角标图片输入“最新”、“vip”、“最热”等盖在要特别醒目提醒的控件上面即可。当然偷懒是没有一劳永逸的做法的,图片实现带文字的角标在当下android设备如此繁荣的情形下,码工们必然会为千奇百怪的适配而劳碌成大牛的,如果频繁更换图片...
2013-10-10 23:24:16
335
原创 带前景色的容器
如果您用google play会发现当按下应用图标时,会出现一透明色覆盖在图标上面(如下图)。注意这个不是background效果而是foreground或是遮罩(overlay)。 实现这种效果通常的思路是在容器(LinearLayout、RelativeLayout等)画玩子控件后,再画一透明色或透明图片在容器顶层达到覆盖遮罩的效果。不过这种思路还需重载onTouch...
2013-10-09 23:38:22
113
原创 一个android sqlite CRUD代码生成小工具
把之前的文章合并到这里,添加bulk批量操作函数.android sqlite也无非是CRUD,所以通常是Ctrl+C、Ctrl+V,不过拷贝的代码容易出错浪费不少苦逼的时间。android sqlite的ORM的开源项目现在也有不少,不过对于一个嵌入式程序除了性能也需要考虑包的大小,所以ORM在嵌入式来说起码现在还不适合时机。 这个小工具功能很简单,不添加任何外部引用,使用...
2013-03-12 15:24:35
118
原创 go语言学习小结(一)
学习go。记录下 1),package、import 这两个功能在现在的很多语言(java、C#)都具备了。这里面引入包在C家族确实是个很好的东西,使得代码组织更清晰;import而不是include头文件,完全剔除了c家族的弊病。 2),变量命名风格的改变 定义变量: var i int跟C家族语法int i;相去甚远,貌似更接近delphi、javascript...
2013-03-01 10:45:58
159
原创 练手写了个SQLite解析器
书看了大半,天马行空似懂非懂。返回头看看感觉没学到什么东西,所以还是动手尝试下。实际这个解析器只是sqlite语法的一个create table语法,而且也没完全实现(不支持check约束和指定数据库)。 为了定一个模子我先写了一个create table 的antlr文法(如下)照着做的。grammar sqlitcreatetable;@membe...
2013-02-21 22:44:57
240
原创 GridView未设置margin、padding容器内出现空隙问题
GridView未设置margin、padding容器内出现空隙问题。 花了不少时间查看sdk源码最好才发现是gidview的listSelector中的图片grid_selector_background_xx.9.png画了可见区域导致的空隙。 解决办法很简单: android:listSelector="@android:color/transpar...
2013-02-06 11:21:15
506
原创 view 在Animation后设置隐藏失效问题
场景: 假设有一个view,在RotateAnimation动画完后需要隐藏掉,但调用 setVisibility 失效。 解决的办法: view.setAnimation(null),再setVisibility...
2013-02-06 11:15:04
572
原创 ZXing CaptureActivity黑屏问题
ZXing的CaptureActivity在其他activity切换回来时会出现黑屏现象,跟踪发现surfaceDestroyed并不一定能调用到。 在ZXing项目找到zxing不支持tabhost的答复。 Project Member #1 srowenThe app doesn't use a TabHost. If you are writing your o...
2013-02-06 11:05:31
578
原创 调用service静态方法抛RuntimeException问题
假设有一个service类是 AbcSvr在其内有一个static方法供外调用启动自己。 public static void startAbcSvr(Context ctx ) { ctx.startService(new Intent(ctx, AbcSvr.class)); } 在某种情况下回抛出Exception Except...
2013-02-06 10:50:32
717
原创 TextView支持拷贝&粘帖
让TextView支持长按弹出系统自带的拷贝、粘贴功能,发现国内外的论坛提供的解决方法都不怎么理想。多数用editview来模仿,不过实现的效果实在不怎么好。 从android sdk 11起google添加了新api TextIsSelectable控制TextView是否支持拷贝、粘帖功能,不过这个功能在v11以下则不那么好彩了。 查阅TextView源码发现setTextIsS...
2013-01-10 21:25:45
281
原创 webview页面随设备分辨率缩放
android客户端常会调用到html页面,给webview页面适配android凌乱的设备带来很大的困难。可以找到的方法是通过ZoomDensity.setDefaultZoom根据分辨率480宽度为基准缩放。不过ZoomDensity.setDefaultZoom在2.0以下的平台是无法调用的,需要自己反射调用。即使是ZoomDensity.setDefaultZoom设置了缩放...
2012-12-03 21:48:46
522
原创 游标泄漏(CursorLeak)
通常,使用try-finally来确保程序异常时能正常关闭游标。 Cursor cursor = null;try { cursor = getContentResolver().query(URI, .....); //dosomething} finally { if (cursor != null) { cursor.close();...
2012-10-27 23:48:46
440
原创 textview多行ellipsize="end"不显示省略号的解决方法(二)
在上一文 给出了 textview多行设置ellipsize="end"并不显示省略号的解决方法(当然如果不是中文 android-textview-multiline-ellipse 也是个解决方案)。上一文中通过measureText计算出最后一行的文字是否超出了显示范围,由于文字的宽度不是均匀的,所以这个方法在某些时候就会出现多一两个字或少一两个字。下面给出第二中解决方法的主要代码:...
2012-09-15 23:07:12
906
原创 textview多行ellipsize="end"不显示省略号的解决方法(一)
textview多行设置ellipsize="end"并不显示省略号。这是android4.0以下系统的bug,google发现有个家伙写了个开源控件http://android-textview-multiline-ellipse.googlecode.com/ 号称解决该问题。但实际测试还是存在问题,只好自己另寻找解决方案。下面的代码替换掉该控件的resetText函数,几乎可实...
2012-08-22 22:50:11
1634
原创 android4.x系统设置字体大小导致应用布局混乱的解决方案
从android4.0起系统设置的”显示“提供设置字体大小的选项。这个设置直接会影响到所有sp为单位的字体适配,所以很多app在设置了系统字体后瞬间变得面目全非。下面是解决方案 Resources res = getResources();Configuration config=new Configuration();config.setToDefaults();res.u...
2012-08-21 23:44:53
138
原创 android嵌入lua
java嵌入lua有多种方案可选择,比如纯java的luaj 、纯C jni的 luajava还有个lua4j。在android中嵌入lua,我偏向使用luajava(当然面对除arm外的平台如x86、mips或需单独打包). 要使用luajava除了要下载luajava还要下载lua源码,需要注意的是luajava并不支持lua2.0以上的版本,我测试支持的版本是5.1.4,而且luaja...
2012-07-31 21:55:41
317
原创 吐槽--ExpandableListView
需要把ExpandableListView的适配器(继承自BaseExpandableListAdapter)同时绑定到AutoCompleteTextView,实现搜索过滤功能。实现了接口Filterable,以为成功在即,既然编译抛错误 The generic method setAdapter(T) of type AutoCompleteTextView is not app...
2012-05-07 23:42:21
119
原创 仿网易新闻栏目滑动TAB效果
网易新闻这种滑动TAB效果,在android软件中还是比较常见的(是不是原创我不清楚,仅当学习研究之用~~~)。 比较常见的做法是:在FrameLayout里包装TAB bar,再在FrameLayout加一个虚拟的tab,切换tab时用虚拟tab在之前选中和当前选中的tab距离之间做一个移动动画。 用此种方法的十之八九,但在复杂的布局中FrameLayout不是...
2012-05-06 21:56:53
187
原创 写了个android gif显示控件,很简单很方便,开源了
android并不能直接显示gif。有不少人写解码器解析gif,当然最简单的是用webview来显示gif了。实际上android内置了gif解码器(不看apidemo的亏大了吧),采用native的方式,所以实现gif显示还是很简单的。 为了方便使用我稍作处理,把它做成一个view,使用就直接加到布局就可以了。具体详情请移步 android-gif-view...
2012-04-16 23:51:29
223
明目张胆的抄袭者
有朋友告知拙作《android listview仿iphone特效》被人抄袭。对于如此国情早已司空见惯,但抄袭的水平实在是太菜了。一个刚知道什么叫构造函数、一个把类名命名的奇奇怪怪的小菜堂而皇之拿人家的文章不加思索就盖以自己大名,实在是中国特色。 天下程序一大抄,抄来抄去是不是你的?自己掂量吧! 看看这个号称【linghu_java的专栏】抄袭本人拙作《andr...
2012-01-30 11:38:53
134
原创 dispatch自画和XML布局双剑合璧
在android的xml布局中,几百上千行的xml文件是常事。布局文件的增大一定程度上增加了视图编写的复杂度,而且如果视图的嵌套越深android在加载视图时的性能也会越差,甚至会出现一些低端设备内存不足而崩溃等奇异情况。 对性能要求比较高或适配终端机型广泛的应用,通过编写自定视图控件来优化应用是常用的方式。今天我实现一个类似appstore的更新应用个数提醒的实例,来探讨自画视图的应...
2012-01-18 21:34:42
117
原创 RadioGroup&RadioButton小技巧
首先来看看RadioButton的介绍 A radio button is a two-states button that can be either checked or unchecked. When the radio button is unchecked, the user can press or click it to check it. However, contrar...
2012-01-04 10:47:25
283
原创 Gallery中的子视图处理Click事件
Gallery中如果是要响应某一视图的点击事件只要设置setOnItemClickListener即可。通常的照片浏览不会有复杂的交互处理逻辑。但是如果gallery的视图不是简单的一张照片而是复杂的视图(Gallery的灵活应用将会为您带来很多的便利)。如需要模仿多屏切换的桌面效果(如android桌面的workspace效果),除了使用ViewFlipper或从android...
2011-12-30 22:46:37
172
原创 whatsnew界面
当下 一些比较流行的android软件在首次安装启动时会显示一连串的whatsnew界面。whatsnew除了告诉用户软件版本升级带来的新功能,同时也可以是软件使用的操作指引,使用户更快熟悉软件。下面是一些软件类似功能的软件的截图. 从截图看whatsnew的每一页是一幅图片和描述文字,不同的页面可以通过拨动来切换。文字是对图片的阐述,而图片和文字都是对软件某个功能的描述...
2011-12-20 22:48:48
496
原创 java中2个int合并成一个long
延续32位时代的逻辑通常只会在32位整数中取出高16位和低16位的短整数(short)或相反的合并操作,如c/c++语系中loword和hiword。现在64位的cpu普及到已是标配了,所以这种经典的算法也会在64位的long中也会有相应的应用。我在使用中则遇到了一些问题,记录下备忘。 需要取32位int的高低16位,或是合并2个int到64位中,即是通过cpu中最基本的"与"、"或...
2011-11-19 23:07:33
1791
原创 布局中@null的代码实现方式
布局中通常会用到@null。如RadioButton常用的技巧通过RadioGroup实现Tab,需要设置android:button="@null"。如果要在代码中动态创建控件,android中并不能找到相关的属性或方法。搜索均无解决办法,最后想到一个变通的方法:通过透明色获取drawable。setButtonDrawable(getResources().getDrawable(a...
2011-11-16 21:16:08
305
android listview仿iphone特效
ios常见视图在顶部往下拉(下冲)或底部往上拉(上冲)有一个弹性回退的动画效果。著名的CM ROM和一些手机厂商也争相集成这种效果。android 从2.3开始实现了下冲到底部和上冲到顶部时颜色渐变动画效果。这种在iphone中经典的特效在一定程度上满足了android迷们追逐体验的需求。下面我们来探讨实现这种效果的思路和实现锥形。 view类有两个很重要的方法scrollTo和scro...
2011-09-26 23:40:42
149
原创 使用google gson
google gson 是一个可以把java类映射到json的开源类库。比起org.json实现的json类库更加方便功能也丰富多了。记录一下。 google gson的使用方法很简单使用Gson类的方法toJson将java对象序列化为json字符串,fromJson反序列化json字符串为java对象. 常用到的功能: a,只序列化需要的数据 直接实...
2011-07-12 22:12:10
109
原创 股票360(升级到1.0.1)
功能特色完美支持国内沪深股市同时支持港股、美股。支持个股资金流向(独创)。实时掌握主力、散户买卖动向。吸取iphone精华,零学习安装即用。自定义投资组合。投资分类一目了然。从国内服务器获取数据延迟极小,即便是GPRS也能获取友好的体验。支持个股实时详情、大小K线图。支持个股新闻、公告资讯。支持手势操作.免费!永久免费!无广告!支持android...
2011-03-01 12:39:13
259
原创 定制了一个仿jquery的ajax函数
ajax习惯了jquery的ajax函数,但不方便引入jquery。只好自己造轮子。以下是代码: function ajax(s){ var def={ type:"GET", cache:false, url: location.href, contentType: "application/x-www-form-urlencoded", as...
2011-01-16 00:45:45
103
windows下怎么下载android源码?很简单!GO!GO!
首先得下载一个GIT在windows可以用PortableGit。有了git只能手动的输入要下载android源码的某部分,不过可以从以下地址http://android.git.kernel.org/?a=project_index 得到所有可以下载的源码。由于这个列表并不能直接用在PortableGit命令中所以我写了一个VBS脚本来转换szFolder ="K:\Hemowolf\SRC...
2010-07-01 23:15:35
133
原创 smali反编译dex
用Dedexer除了可以反编译其内附的dex,其余的都未成功过。smali可以顺利反编译,而且可以把你修改过的代码重新编译成classes.dex比较邪恶 反编译命令 baksmali-1.2.jar 【dex文件】 -o classes重新编译 smali-1.2.jar 【需编译文件夹】...
2010-02-27 11:16:20
233
分享一个查看apk中xml的工具
开源项目android4me 其AXMLPrinter2可以方便的把apk中已经序列化的xml还原为文本格式 把AXMLPrinter2.jar拷贝到C盘,在控制台cd到要解压出来的apk文件夹,执行下面的命令就可以把所有的xml还原文本格式了 for /r . %a in (*.xml) do @java -jar c:\AXMLPrinter2.jar "%a">&...
2010-02-27 11:02:38
660
原创 定制android通知(Notification)
Notification通知界面可以用自己定义的界面来显示。下面是我实现的带进度条的通知效果 下面是主要实现部分代码,比较简单直接看代码可以了。 nf =new Notification(R.drawable.icon,"带进度条的提醒",System.currentTimeMillis()) ; nf.icon = R.drawable.icon; n...
2010-02-27 10:51:29
123
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人