--------------
// 画面幅とってくる
// 略

// ルートになるレイアウトをFrameLayoutにするよ
FrameLayout frame = new FrameLayout(context);

// 大きさを変化させるための層を作るよ
LinearLayout backgroundLayer = new LinearLayout(context);
View setWidthView = new View(context);
backgroundLayer.addView(setWidthView, new
LinearLayout.LayoutParam(width,
LinearLayout.LayoutParam.WRAP_CONTENT));
frame.addView(backgroundLayer);

// 表示したいViewを作るよ
LinearLayout foregroundLayer = new LinearLayout(context);
// TODO:表示したいImageViewとかを追加する
// 重ねてあげるよ
frame.addView(foregroundLayer);

Toast toast = new Toast(context);
toast.setView(frame);

あとはBitmap生成してsetWidthして
ImageViewにsetImageBitmapする方法とか

要は見えないView生成してそいつで大きさをしていすればいいんしゃないかなー

どうみてもスマートじゃないし力技だけどね☆ミ