Android View.draw(画布)导致颜色不一致
问题描述:
我正在尝试拍摄一个视图的“屏幕截图”,然后在不同的活动中再次使用它。问题是,当我这样做时,特定的颜色似乎会变得混乱。Android View.draw(画布)导致颜色不一致
其他备注:
-
该图像由一个灰色基本图像的,与红色或绿色与α值的覆盖图像上。
- 该视图通过设置充气器显示在父视图中。换句话说,我有一个布局,并在其中我有一个部分
<!-- THIS GUY HERE needs to be set to show the correct view.--> <RelativeLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/my_id" />
和在活动我然后加载像这样正确的视图:
imagesLayout = (RelativeLayout) findViewById(R.id.my_id);
LayoutInflater layoutInflater = (LayoutInflater)
this.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
layoutInflater.inflate(getContentViewID(), imagesLayout);
这里是我的代码来创建图像:
Bitmap bitmap = Bitmap.createBitmap(view.getMeasuredWidth(),
view.getMeasuredHeight(), Bitmap.Config.ARGB_8888);
Canvas bitmapHolder = new Canvas(bitmap);
view.draw(bitmapHolder);
return bitmap;
和这是结果(较小的图像是不正确的,更大一个是视图):
答
您可以保存布局的实例,并将其保存为位图。
答
我找到了解决方案!事实证明,我不需要使用ARGB_8888,而需要使用RGB_565。在这篇文章的帮助下找出它:http://android.nakatome.net/2010/04/bitmap-basics.html
真的希望这可以帮助别人在未来。
你好!对不起,我不确定你的意思(我仍然是一个新手)?有一些文档或我可以看的东西吗? – Zee
O,只是正常的saveInstanceState?问题是我试图创建一个位图的布局是在另一个布局内。我会更新我的问题,以扩展更多。 – Zee