プログラムで 9 つのパッチ イメージを作成しようとしています。私はグリフィーのアプローチを試みましたが、うまくいかないようです。クラスの使用方法に関する情報はほとんどありません。ビットマップを間違ってインポートしていると思います。誰かがこれを機能させる方法を知っているか、より良い方法を知っているなら、私はあなたの助けに大いに感謝します.
私のコード:
// Dynamically create the 9patch image and apply it to a LinearLayout
LinearLayout llcode = (LinearLayout) findViewById(R.id.llcode);
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.white_button);
Drawable np = NinePatchBitmapFactory.createNinePathWithCapInsets(getResources(), bitmap, 15, 15, 16, 16, null);
llcode.setBackgroundDrawable(np);
// The following code using the actual 9patch image: white_button_np.9.png
LinearLayout llxml = (LinearLayout) findViewById(R.id.llxml);
llxml.setBackgroundDrawable(getResources().getDrawable(R.drawable.white_button_np));
このスクリーンショットでは、上がプログラムによる方法、下が Android ツールを使用した典型的な 9patch の方法を示しています。
9patchに変換する前の元画像。