Как установить гравитацию (или поля) ImageView с помощью кода? - PullRequest
9 голосов
/ 11 апреля 2010

Я хочу добавить ImageView к FrameLayout с гравитацией или полями. но FramLayout и ImageView не имеют никакого метода по этому поводу (на самом деле, я не могу найти это). Причина, по которой выбирается Framelayout, заключается в том, чтобы поместить ImageView в ImageView.

Помогите мне, плз. Мне необходимо найти решение.

ТНХ.

Ниже приведен мой код, помогающий понять мой вопрос.

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 Ответ

17 голосов
/ 11 апреля 2010

Попробуйте:

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

Подробнее:

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...