数日間立ち往生している問題があります。9 パッチ イメージをビットマップ配列に変換し、特定の色を別の色に変更しようとしています。ビットマップを 9 パッチに戻すのに問題があるので、レイアウトの背景として使用できます。このコードを使用してビットマップを作成し、それを 9 パッチのドローアブルに変換しようとしましたが、アクティビティが開始され、黒く点滅してから親アクティビティに戻ります。9 パッチの作成と初期化をコメント アウトすると、アクティビティは正常に開始されます。
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());
私は通常、そのようなことについて助けを求めることはありませんが、9 パッチのイメージとビットマップで見つけられるすべてのドキュメントを調べましたが、まだ理解できません。
短い質問ですが、背景として使用するためにビットマップを 9 パッチ イメージに変換する方法を知る必要があります。100 万前もって感謝します。完了後に残りの100万を取得します。
O と私は、最小バージョン 8 のバージョン 16 をターゲットにしています。