は、ここで私が何をしたいの絵です:複数画像の重ね合わせ効果を動的に達成するにはどうすればよいですか?
すべての画像が異なっていると私は2-10の間で持つことができます。
私が今持っているコードは次のとおりです。
:RelativeLayout imgLayout = (RelativeLayout) findViewById(R.id.RelativeLayoutPictures);
for (int i = 0; i < flag; i++)
{
ImageView iv = new ImageView(this);
iv.setImageURI(picUris[i]);
RelativeLayout.LayoutParams lp = new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT);
lp.setMargins(50*i, 50*i, 0, 0);
lp.addRule(RelativeLayout.ALIGN_PARENT_LEFT);
lp.addRule(RelativeLayout.ALIGN_PARENT_TOP);
imgLayout.addView(iv, lp);
}
と結果(picUris []は私のウリの配列である)(フラグは絵の#です)
問題はサイズが変更されていることです私が望むように画面で切り取られることはありませんし、底には何か変わったことがあります。
何も変更されていません:/ –
これは私がやったことです:lp.setMargins(50 * i、50 * i、0、0);ここでは0 <= i <5で、上の写真で見ることができます。マージンは0,50,100,150,200の5枚です。問題は、右端と下端に収まるようにサイズが変更され、必要なように外れないことです。申し訳ありませんが写真ではっきりしていない場合は、私は周りの境界のようなものをまだ追加しようとしていないと –
私はそれがリサイズを行う 'RelativeLayout'だと思う。 'RelativeLayout'は、子どもの' View'を操作して、思った通りにレイアウトされたものを得ることができます。代わりに 'FrameLayout'を試してみてください。 –