默认的情况下,在 ListView 滑动到顶部或者是底部的时候,会有黄色或者蓝色的阴影出现.在不同的版本上解决的方法是不同的,在 2.3 版本之前可以在 ListView 的属性中通过设置 android:fadingEdge="none" 来解决问题,但是在 2.3 及以上版本这中方法是无效的,这里,可以通过重写 ListView 用代码来设置模式,禁止其阴影的出现,以免影响美观.代码如下: package com.sunzn.cview; import android.conten…
默认的情况下,在 ListView 滑动到顶部或者是底部的时候,会有黄色或者蓝色的阴影出现.在不同的版本号上解决办法是不同的,在 2.3 版本号之前能够在 ListView 的属性中通过设置 android:fadingEdge="none" 来解决这个问题,可是在 2.3 及以上版本号这中方法是无效的,这里,能够通过重写 ListView 用代码来设置模式,禁止其阴影的出现,以免影响美观.代码例如以下: package com.sunzn.cview; import android.…
在 ListView 里,HeaderView 和 FooterView 也占一行,与其他的 item 一样,可以点击,有索引,HeaderView 的索引为0.如果要使这两项不可点击,可以使用下面的方法: public void addFooterView(View v, Object data, boolean isSelectable) public void addHeaderView(View v, Object data, boolean isSelectable) 如果在 View…
Android 中与 Touch 事件相关的方法包括:dispatchTouchEvent(MotionEvent ev).onInterceptTouchEvent(MotionEvent ev).onTouchEvent(MotionEvent ev):能够响应这些方法的控件包括:ViewGroup 及其子类.Activity.方法与控件的对应关系如下表所示: Touch 事件相关方法   方法功能     ViewGroup         Activity        public b…
从 API 8 开始(参考官方文档:App Install Location | Android Developers),你可以将你的应用安装在外部储存中(例如,安装到设备的 SD 卡上).这是一个可选的特征,你可以在你的应用的 AndroidManifest.xml 中声明 android:installLocation 属性.如果你没有声明这个属性,你的应用程序将会被安装在内部储存,并且不能被移到外置储存中. 修改 AndroidManifest.xml 文件中 <manifest> 元素…
1. 对图片本身进行操作 尽量不要使用 setImageBitmap.setImageResource. BitmapFactory.decodeResource 来设置一张大图,因为这些方法在完成 decode 后,最终都是通过 Java 层的 createBitmap 来完成的,需要消耗更多内存.因此,改用先通过 BitmapFactory.decodeStream 方法,创建出一个 bitmap,再将其设为 ImageView 的 source,decodeStream 最大的秘密在于其直…
什么是代码混淆 Java 是一种跨平台的.解释型语言,Java 源代码编译成中间”字节码”存储于 class 文件中.由于跨平台的需要,Java 字节码中包括了很多源代码信息,如变量名.方法名,并且通过这些名称来访问变量和方法,这些符号带有许多语义信息,很容易被反编译成 Java 源代码.为了防止这种现象,我们可以使用 Java 混淆器对 Java 字节码进行混淆. 混淆就是对发布出去的程序进行重新组织和处理,使得处理后的代码与处理前代码完成相同的功能,而混淆后的代码很难被反编译,即使反编译成功…
什么是代码混淆 代码混淆(Obfuscated code)亦称花指令,是将计算机程序的代码,转换成一种功能上等价,但是难于阅读和理解的形式的行为.代码混淆可以用于程序源代码,也可以用于程序编译而成的中间代码.执行代码混淆的程序被称作代码混淆器.目前已经存在许多种功能各异的代码混淆器.   将代码中的各种元素,如变量,函数,类的名字改写成无意义的名字.比如改写成单个字母,或是简短的无意义字母组合,甚至改写成“__”这样的符号,使得阅读 的人无法根据名字猜测其用途.重写代码中的部分逻辑,将其变成功能…
Canvas and Drawables 安卓提供了一组绘制二维图形的 API(参考官方文档:Canvas and Drawables | Android Developers),这组 API 允许开发者通过将自定义图形绘制到画布上或修改现有视图来实现视图的定制,绘制二维图形,通常有以下两种方式: 在布局文件中引入自定义视图或动画,这种方式的图形绘制会交由系统来处理,你只需要将自定义图形引入视图. 直接将图形绘制到画布上,这种方式的绘制就需要开发者重写并调用对应类的 onDraw(android…
什么是 xmlns xmlns是 XML Namespaces 的缩写,中文名称是 XML命名空间. xmlns 使用规则 xmlns:namespace-prefix="namespaceURI". xmlns 在 Android 中的作用 命名空间的作用是什么呢?命名空间里约定了对应类的属性,通过它可以知道对应类下有什么样的属性:也可以理解为语法文件,通过它你可以知道输入属性的正确与否.Android 布局文件中经常能看到的命名空间为:xmlns:android="htt…