我有一个问题困扰了我好几天了。我正在尝试将九个补丁图像转换为位图数组,并将特定颜色更改为不同的颜色。我无法将位图转换回九个补丁,因此我可以将其用作布局的背景。我尝试使用此代码创建位图,然后将其转换回九个补丁可绘制对象,但它只是启动活动并闪烁黑色,然后返回到父活动。如果我注释掉九个补丁的创建和初始化,活动就会正常启动。
Bitmap backMap = BitmapFactory.decodeResource(getResources(),R.drawable.outerbackground);
backMap = backMap.copy(Bitmap.Config.ARGB_8888, true);
backMap = getChangedColor(backMap, Color.rgb(212, 212, 212), Color.rgb(55, 50, 255));
byte[] chunk = backMap.getNinePatchChunk();
NinePatchDrawable np_drawable = new NinePatchDrawable(getResources(), backMap, chunk, new Rect(), null);
np_drawable.setBounds(0, 0, backMap.getWidth(), backMap.getHeight());
我通常不会在这样的事情上寻求帮助,但我已经浏览了我能找到的关于九个补丁图像和位图的所有文档,但仍然无法弄清楚。
长问题简而言之,我需要知道如何将位图转换为九块图像以用作背景。预先感谢一百万。完成后你会得到另外一百万。
O 和我的目标是版本 16,最低版本为 8。