LotusLoveNature

日常工作,生活小记

关于display和BitmapFactory.Options

public static Bitmap decodeResource(Resources res, int id)这个android的方法大家都不陌生,但是其中的小秘密却是今天才发现。

发现时机:手机分辨率为hdpi的,传入一个resid,对于的图片是1440x1280的,但是放在drawable下面了。通过public Bitmap decodeResource(Resources res, int resId, Options opts)方法decode出来的图片大小为2160x1920,不是期望的1440x1280.

通过查看源码和尝试,发现decodeResource方法会对图片...

md5小知识

听过很多开发者说md5校验,据说可以检查文件完整性,还可以加密。

现在,就整理下,md5到底有哪些用途,这里列举两种普遍的用途。

1. md5在文件完整性上的作用非常大,它可以基于整个文件生成一个md5值(不包括目录),这个md5保存起来,然后文件可以做一系列动作,比如网络传输,文件拷贝后,再获取文件的md5,与原来保存的md5进行比较,如果相同说明文件是原文件,没有缺失或者被修改。

因为md5计算精确到文件的一个bit修改。

举个例子,网络下载文件,校验md5是什么意思呢,就是下载的时候先请求文件信息,里面就包括文件md5,保存起来,然后下载文件本身,文件本身下载完成后,将下载下来的...

一种基于drawable的动画

如果某些动画只想做在一个view上,因为这样可以使效率更高,动画也更容易控制。那么我们可以定义一个ImageView,然后设置给它一个drawable。

关键是这个drawable,这个drawable是自定义的,继承自drawable,重写ondraw方法。绘制图片或者rect。如果需要动画,肯定要自己触发invalidate。

public void startAnimation(){

mCallback.invalidateDrawable();

}

public void draw(Canvas canvas) {

 mCallback.invalidateDrawable...

关于绘图的抗锯齿问题

现在设置锯齿的方式有两种,一种是直接给paint设置flag,一种是给canvas设置。

关于Edittext自动获取焦点的解决办法

1. 添加一个view,View位置上位于Edittext的上面。即保证先获得焦点

android:focusable="true"

android:focusableInTouchMode="true"

android:layout_width="0dp"

android:layout_heigth="0dp"

或者将上面属性加到其父亲上,或上面的兄弟view上

2. 退出时要加入clearfocus,比如按home退出,保持闭环

3. 如果view的焦点要时而抢占edittext...

adb脚本命令之su命令被打断的问题

如果有两条shell命令,第一条是su命令,会发现执行完su命令就停止了,解决办法有两个,第一个并不保证

1. adb shell "su -c 'sleep 1'" 通过延迟发现命令可以往下执行,没有被打断

2. 以抓去设备网络包为例

adb start-server

adb push G:\cachelog\tcpdump /data/local/tcpdump

@echo off

set p=G:\cachelog\temp.txt

echo su > %p%

echo chmod 755 /data/local/tcpdump...

关于bind Service连接的几个问题

对于RemoteService的一些问题小结。

1. 为什么service ondestroy后还在,因为servicedestroy后系统有一个策略是保存service,大概占内存5M(可以开启一个新进程只有service看出),方便快速下次启动。

2. 如果要自己释放这个内存,如果是跨进程的,那么必须杀进程。但是,service如果是异常结束的,那么系统会自动重新掉起service(异常恢复),disconnection->service connection->service oncreate->service onbind。为了系统不重新启动service...

.9图片投影问题

开发过程中很多都是.9图片有问题 导致布局不是自己想要的效果。下面小结几种坑爹问题。

1. 首先了解.9图片,左上是表示图片可拉伸的地方。右上表示是内容填充的地方

一般来说,拉伸是没有问题的,对于内容填充区,就要搞清楚了,如果右下的线没有拉全,那么这个图片内部上下左右某些区域时不可用的。比如你给一个viewgroup设置一个这样的.9图,那么里面放一个button,button虽然设置成match_parent,但是现实效果却是button填充不满viewgroup

2. 有投影的.9图片,有这种布局的图片,一定要知道投影区域时多大,因为投影区域人眼看不到,但是占位置。...

TextView点击背景

TextView在用selecor做背景时,要用

android:focusableInTouchMode="true" 

android:clickable="true" 

android:background="@drawable/bottom_menu_bg"/>

如果 用了       android:duplicateParentState="true"

会有影响,

另外加入图片只能用compoundDrawable,所以...

关于viewstub

1. viewstub在xml里面定义的时候

<ViewStub

        android:id="@+id/header_bar"

        android:layout_width="match_parent"

        android:layout_height="@dimen/bar_height"...


©LotusLoveNature | Powered by LOFTER