式を表示するカスタム ビューを設計しています (複雑な TextView と考えることができます)。
式が大きくなるにつれて、それに合わせてカスタム ビューを拡張したいと考えています (wrap_content TextView のように)。
ビューのコンテンツが変更されると、後で描画されるキャンバスをバッファリングしますonDraw()
バッファリングは次を使用して行われます
Bitmap canvasBitmap = Bitmap.createBitmap(width, height , Config.RGB);
Canvas canvas = new Canvas(canvasBitmap);
canvas.drawText(pos,text, paint);
pos += paint.MesureText(text);
// and so on...
...
...
このプロセスの最後になって初めて、本当に必要なキャンバスの幅がわかりpos
ますBitmap.createBitmap()
。境界を指定せずにキャンバスを作成し、適切なサイズにカットする方法はありますか? 最初にプロセスを実行して必要な幅を見つけてから、再度実行して適切なサイズのビューを作成したくありません。
任意の提案をいただければ幸いです。