category_activity.xml CategoryActivity.java
android中恶心的getDrawingCache!
最近要写一个可调整listviewitem的listview,当用户按下listitem的某个区域时,可以上下拖动item并放下时调整listitem的位置。在里面用了getDrawingCache来获取按下的listitem相应的bitmap并放在一个创建的ImageView中,然后在move的时移动ImageView。但发现即使调整的listItem的位置,按下时得到的bitmap也是原来的listitem的bitmap.进行了各种调试也没找到问题所在。最后在一个测试工程中调用了setDrawingCacheEnabled(false)后再setDrawingCacheEnabled(true)发现才能获取到更新后的bitmap!实在是没有想到是要这么做的!
draw(Canvas canvas)
在指定的画布上手动绘制视图(及其子视图)
private Bitmap screenshots(View paramView)
{
Bitmap localBitmap;
try
{
localBitmap = Bitmap.createBitmap(paramView.getWidth(), paramView.getHeight(), Bitmap.Config.ARGB_8888);
paramView.draw(new Canvas(localBitmap));
return localBitmap;
}
catch (OutOfMemoryError localOutOfMemoryError)
{
if (Log.D)
Log.d("CategoryActivity", " -->> " + localOutOfMemoryError.getMessage());
localBitmap = null;
}
}
Android抓屏源码
http://blog.csdn.net/buleriver/article/details/6754218