如何使用代码设置ImageView的重力(或边距)?

时间:2010-04-11 19:11:22

标签: android

我想用Gravity或margin将ImageView添加到FrameLayout。但FramLayout和ImageView没有相关的方法(实际上,我找不到)。选择Framelayout的原因是将ImageView放在ImageView上。

帮帮我吧。我找到解决方案是紧急的。

THX。

以下是我的代码,有助于理解我的问题。

FrameLayout imageFrame = new FrameLayout(mContext);
imageFrame.setLayoutParams(new GridView.LayoutParams(158, 158));

ImageView frame = new ImageView(mContext);
frame = new ImageView(mContext);
frame.setLayoutParams(new LayoutParams(158, 158));
frame.setScaleType(ImageView.ScaleType.CENTER_CROP);
frame.setImageResource(R.drawable.image_frame_n);

ImageView image = new ImageView(mContext);
image.setLayoutParams(new LayoutParams(148, 148));
image.setScaleType(ImageView.ScaleType.CENTER_CROP);
image.setImageResource(mThumbIds[position]);
// image is needed to have a margin or gravity to be positioned at center of imageFrame

imageFrame.addView(image);
imageFrame.addView(frame);

1 个答案:

答案 0 :(得分:17)

尝试:

image.setLayoutParams(new FrameLayout.LayoutParams(width, height, gravity));

更多信息:

http://developer.android.com/reference/android/widget/FrameLayout.LayoutParams.html