最近要将一个刷磁条卡读取信息的代码打包成一个jar包,在点击按钮之后,要弹出一个dialog提示用户刷卡(如上图)。为了在其他应用使用该工具包,而且不用每次都专门写一个倒计时的dialog去提示用户刷卡,就将该dialog使用的“9_patch”背景图片一起加入了jar包中。
方法:将图片资源放在工程的assets目录下,代码中从assets中获取该资源,
代码如下:
Bitmap bitmap = null;
byte[] bs;
NinePatchDrawable patchy = null;
try {
bitmap = BitmapFactory.decodeStream(context.getAssets().open(
"bg_dialog.9.png"));//从assets中读取资源
bs = bitmap.getNinePatchChunk();//获取图片中的 9_patch 数据
patchy = new NinePatchDrawable(bitmap, bs, new Rect(), null);//最终将图片转成 9_patch 图片
} catch (IOException e) {
e.printStackTrace();
}