ImageView
1つの中に複数のを描画しようとしていLinearLayout
ます。
すべてのImageView
sは単一のビットマップを持っている必要があります。ImageViewのサイズは異なります。単一のビットマップはサイズ変更されません。
簡単な方法は、ImageViewごとに1つのビットマップを作成することです。しかし、これはすぐにメモリを使い果たします。
final Bitmap placeholderBitmap = Bitmap.createBitmap(width, height, Config.ARGB_8888);
final Canvas canvas = new Canvas(placeholderBitmap);
canvas.drawBitmap(BitmapFactory.decodeResource(getResources(), R.drawable.placeholder_image), 0, 0, null);
imageView.setImageBitmap(placeholderBitmap);
linearLayout.addView(imageView);
また、最大と最小の高さと幅を設定してみましたが、効果はありません。画像は同じサイズのままです。
imageView.setImageResource(R.drawable.ic_no_image);
imageView.setMaxHeight(imageViewInfo.height);
imageView.setMaxWidth(imageViewInfo.width);
sを使用するDrawable
のが正しい「Android」の方法だと思いますが、右側でDrawableを動的に作成し、共有ビットマップをその中にレイヤー化する方法を見つけることができません。