2010-01-12 6 views
1

У меня есть миниатюры, большая сторона которых 70 пикселей (например, 70x40 или 52x70).Как выровнять изображение?

Мне нужно создать серый квадрат 70x70px и нанести на него миниатюру, чтобы изображение было выровнено с вертикальной и вертикальной рамкой.

Как это сделать?

Я попытался с ImageView 70x70px, серый фон, но изображение не расположено так, как должно (оно находится в вертикальном и горизонтальном центре, а не в вертикальном и горизонтальном центре).

Я также попробовал обернуть его LinearLayout 70x70px, серого фона и затем позиционировать его, но затем я получаю 1 или 2px линию между LinearLayout и ImageView. Я попытался установить отступы и поля на 0, но серая линия остается на ...

ответ

2

Используйте RelativeLayout. Установите фон серым и размер будет 70px квадратных. Поместите ImageView в качестве ребенка RelativeLayout, с android:layout_alignParentTop="true" и android:layout_centerHorizontal="true".

+0

Я все еще получаю 2px линию между рисунком и верхней частью RelativeLayout. Вы можете видеть, что я говорю здесь: http://img706.imageshack.us/img706/2852/20100112144811.png – zorglub76

+0

Без изображений и макетов я не могу много помочь. Убедитесь, что в верхней части изображения нет прозрачного сегмента, что вы не применяете отступы или поля в ImageView и т. Д. – CommonsWare

+0

Хорошо, макет, над которым я работаю, является элементом списка. Вы можете увидеть XML-файл здесь: http://pastebin.com/m239fa5c и скриншот результирующего макета здесь: http://img706.imageshack.us/img706/2852/20100112144811.png – zorglub76

2

Черт!

Конечно, это было так просто: пришлось добавить android:scaleType="fitStart" в ImageView - нет необходимости всех этих макетов ..

+0

На самом деле - это не работает. fitStart выравнивает изображение в верхнем левом углу. Но я сдался. Во всяком случае, он выглядит лучше по центру ... – zorglub76

4

Я имел точно такую ​​же проблему и нашел решение in that thread. Для тех, кто борется с этой проблемой, просто добавьте эту строку в свой ImageView:

android:adjustViewBounds="true" 
Смежные вопросы