Android小Trick
文章平均质量分 53
xjanker2
now @alibaba b2b
展开
-
Android Trick 1: 使用View来制作专业的分隔线
如果更高效简单的实现界面中的分隔线呢? 这是从Google的某些应用的源代码中发现的。原创 2011-03-03 10:57:00 · 11113 阅读 · 3 评论 -
Android Trick 14: proguard导致签名后的apk报错:ClassNotFoundException 的问题解决
发布在Android Market上的apk应用需要经过签名,签名的时候如果存在proguard.cfg并且在default.properties里边启动了proguard:proguard.config=proguard.cfg,那么在签名打包时会使用proguard对代码进行压缩、优化和混淆。在使用时遇到了一些问题,首先,随Android SDK自带的默认的proguard4.4?,签名后的a原创 2011-10-19 17:25:07 · 8750 阅读 · 1 评论 -
Android Trick 12: 简单实现ImageView的加边框颜色的方法
对于一个ImageView,如果我们要加上边框,比如宽为3dp的灰色框,我们怎么做呢?有种方法,是自己定义一个MyImageView类,继承自ImageView,在其onDraw方法中画canvas。还有设置一个带有边框的背景图片的方法。这里给出一种简单方法,原创 2011-08-02 12:48:32 · 19196 阅读 · 5 评论 -
Android Trick 7: 把TextView中的文字添加阴影效果及Style的使用
android:shadowColor 阴影颜色android:shadowDx 阴影的水平偏移量android:shadowDy 阴影的垂直偏移量android:shadowRadius 阴影的范围大多数情况下,某一类的TextView控件需要统一的风格,如加阴影等,那么可以使用style。 然后在values文件夹下创建styles.xml文件,内容为:这样的最大优点是减低代码冗余度,在需要更改原创 2011-04-26 17:01:00 · 34564 阅读 · 7 评论 -
Android Trick 11: 对Android中的AsyncTask进行函数化的封装,简洁调用
为了使UI在数据获取时不僵死,数据获取需要在新开Worker线程中进行,然后将返回结果在UI线程中进行读取并渲染页面。面对这种异步处理,到底如何写才简洁,先后面临过三种实现方式。首先是最原始的Java方式,new 一个Thread出来,将处理Runnable进去执行,执行完之后通过handler post到ui线程去更新界面。然后发现1.5后有了AsyncTask,非常好用,以后的项目中全部改原创 2011-06-16 17:46:00 · 9264 阅读 · 9 评论 -
Android Trick 6: PendingIntent的重复问题,当新建的PendingIntent匹配上一个已经存在的PendingIntent时可能不会创建新的。
<br />Android中默认对PendingIntent的创建(如通过PendingIntent.getActivity方式)会进行优化检测,默认的情况下,新创建的PendingIntent如果和原先的基本一样,那么就会使用原先的PendingIntent。<br />这就导致在目前的项目中,一定间隔的重复给用户发送某类通知,其中带的Intent里的Extra内容不同,但是通知点击后传到一个Activity里的extra消息还是原来的。那么出现做这种问题可以这样解决,在创建PendingIntent时,原创 2011-04-19 13:48:00 · 8356 阅读 · 0 评论 -
Android Trick 9: 关于Android程序中多余的“退出”功能...
已经有各种文章教你如何在Android程序的任何一个页面执行退出整个程序的功能,Android.os方法、restartPackage方法、system.exit方法,甚至有人为制造异常使程序退出的方法,令人害怕呀。其实,我们在Android model的基础上想一下,真得需要这个功能:让用户在任何时候,都能看到一个直接退出该应用的按钮吗?我认为不需要。Google官方人员在很早就表达了这个观点:Question: Does the user have a choice to kill the applic原创 2011-05-25 11:37:00 · 3970 阅读 · 3 评论 -
Android Trick 8: ProgressBar的圆形和长条形设置
默认的progresbar是圆形的旋转动画:长条型的style设置:style还有以下几个选项:style="?android:attr/progressBarStyleHorizontal"style="?android:attr/progressBarStyleLarge"style="?android:attr/progressBarStyleSmall"style="?android:attr/progressBarStyleSmallTitle"原创 2011-05-11 17:14:00 · 6843 阅读 · 0 评论 -
Android Trick 5: 正则匹配任意字符,包括换行符的字符串
这是java正则的知识,最近开发android上也碰到了,匹配任意字符,包括换行符的字符串,发现使用 [.//n]* 就是不行,查了相关资料,以下可以:[//s//S]*[//w//W]*[//d//D]*在找到更好的方法前吗,暂时用之。原创 2011-03-25 17:44:00 · 4114 阅读 · 0 评论 -
Android Trick 4: Activity的android:launchMode (startard、singleTop、singleTask、singleInstance)
写在AndroidManifest.xml中,如:startard:标准方式,启动一个Activity就创建一个实例。singleTop:当Activity栈最顶层的A1启动另一个A1时,不会启动新实例。singleTask:在Task范围内只产生一个实例。singleInstance:在全局范围内只有一个,即使在不同apk中调用。onNewIntent:在singleTop下,不产生新实例直接再用某个Activity A1,需要得到来自哪个intent。public void onNewIntent(In原创 2011-03-22 13:52:00 · 6353 阅读 · 2 评论 -
Android Trick 3: GridView动态加载数据情况下,选中状态的实现
GridView使用AdapterView动态加载数据情况下,无论是在onCreate、Onstart、OnResume方法中调用getChildCount()均为0,这说明数据并没有在Activity最初启动后立即加载为GridView的子View,那如果要把GridView实现为Tab风格的菜单,是必须要调用它的状态选中的,如果在Activity中调用的话就会抛nullpointerexception了,那要怎么操作呢? /** * 构造菜单Adapter * @param menuName原创 2011-03-22 12:50:00 · 7635 阅读 · 0 评论 -
Android Trick 2: Android中的透明属性的设置
<br />ui设计时,需要指定某个元素的drawable时,有时候需要告诉Android我希望设置它为透明,偶然在源码中发现,就是以下这段代码:<br />android:background="@android:color/transparent"原创 2011-03-04 13:58:00 · 3894 阅读 · 0 评论 -
Android Trick 13: 改变一个apk的packagename的简单流程,就2个步骤
由于某些原因,要把PackageName改成一个新的名称。以前找不到流程,嫌麻烦最后没改。你可能回想着很多步骤,首先:1. 在包名上点右键-->refactor-->rename2. 在AndroidManifest.xml里运行Android="http://schemas.android.com/apk/res/android" package="com.newpakageName"原创 2011-10-14 11:04:21 · 9611 阅读 · 3 评论