ScrollView的scrollTo()方法在某些手机上不起作用的解决方法

scrollView的scrollTo()方法在某些手机上不起作用(例如小米上有时候就不起作用,在三星note4就ok),个人猜测是由于scrollTo()调用的时候有其他的动画在执行,导致了将其抵消了(纯属猜测,没来得及验证)。

曾苦于一时没有解决方案,未曾找到取消滑动动画的方法,后偶然发现,smoothScrollTo()方法可以打断动画,将 scrollTo()换成smoothScrollTo()方法可正常定位位置,但定位过程有动画要耗费一些时间,不是本想要的快速定位。
经尝试发现以下写法即可满足需求:

1
2
3
4
view plaincopy  //滚动到原点    
scrollView.scrollTo(0, 0);
scrollView.smoothScrollTo(0, 0);
//注意两个方法调用先后顺序不可颠倒

阅读全文

Charles抓去https协议的包数据的方法

Charles抓取https协议包的方法

http://blog.csdn.net/jiangwei0910410003/article/details/41620363

阅读全文

View的测量规格和模式模式(MeasureSpec)

MeasureSpec.EXACTLY 和MeasureSpec.AT_MOST
EXACTLY : 指大小为具体值和匹配父窗体。
AT_MOST : 值包裹内容。
UNSPECIFIED : 系统默认模式。父布局不对子元素做任何的约束,子元素可以得到任何想要的大小。
例如:

1
2
3
wrap_content  传进去的是AT_MOST
110dip或fill_parent 传入的模式是EXACTLY
2.view.layout()决定view在父view中的位置

阅读全文

多渠道打包工具以及原理

多渠道打包的原理:

原理:用最直白的话说就是,将apk文件先进性反编译,然后修改器清单文件AndroidMainfest.xml中的渠道信息,然后在对其进行签名和重新打包。
这个过程中使用到的工具apktool

阅读全文

带网格的GridView实现

开发中使用带网格的GridView效果还是比较多的,比如支付宝的客户端。
然后Google原生的GridView并未给我们提供设置网格边框的属性和方法。因此我们不得不自己去实现。

实现带网格GridView的方式

1 使用背景的差异(技巧)

1
2
3
1 设置GridView背景色,设置水平间方向间隔属性值android:horizontalSpacing和竖直方向间隔属性值android:verticalSpacing
2 设置GridView子项背景色
3 也就是空白的spacing那部分的颜色就是会是网格线的颜色(gridview设置的那个颜色)

阅读全文

使用oh-my-zsh修改Shell样式

Mac下Shell默认的样式只有有限的几种,并且本人认为并不美观。于是想找一种替代的方案。本来自己下载了iTerm,很多人使用iTerm,但是我想修改器样式,修改后发现只有其背景可以改变,其他文字显示均没有发生变化。于是还是采用了第三方开源的oh-my-zsh。
oh-my-zsh的github地址:https://github.com/robbyrussell/oh-my-zsh

阅读全文

zxing的使用

二维码扫描工具zxing的使用,其实也是比较简单的。但是zxing的源码附带了很多我们用不到的代码,因此我们可以对其进行简化,只保留我们需要的部分。
具体使用,可以参考一下文章,写的非常清楚。
原文:Android平台下利用zxing实现二维码开发

阅读全文

Java中各种变量、代码块的执行时机

###类变量(静态变量)、实例变量(非静态变量)、静态代码块、非静态代码块 的初始化时机
1,由 static 关键字修饰的(如:类变量[静态变量]、静态代码块)
将在类被初始化创建实例对象之前被初始化,而且是按顺序从上到下依次被执行;
2,没有 static 关键字修饰的(如:实例变量[非静态变量]、非静态代码块)初
始化实际上是会被提取到类的构造器中被执行的,但是会比类构造器中的代码块优先
执行到,其也是按顺序从上到下依次被执行。

阅读全文

android物料设计细节

Google物料设计的细节最近在官网给出了一些详细汇总。
地址如下:http://www.google.com/design/spec/whats-new/whats-new.html
写本文主要是为了记录一些小的常用的细节:

阅读全文

Android项目Build报错Unable to execute dx(65535问题解决方案)

问题描述:Android项目引入过多的第三方包时,在编译成dex文件的时候,单个dex文件中的方法总数超过了65535个,此时就报错。直白了说就是单个dex文件最多能接受65535个方法。

解决方法:

Google已经描述了这一问题,并且颁布了对应的解决方案。使用Android-support-multidex.jar兼容包来解决。注意:此包只能兼容到api 14,一次4.0一下的系统会有问题
方案原理:编译时发现方法总数过多时,将生成多个dex文件,这样单个文件的方法总数就不会产生65535的问题。

阅读全文