2010-07-04 5 views
0

Есть ли способ разместить виджеты/представления на экране в любой конкретной позиции?Позиция в определенном месте?

Что-то вроде календаря с ежедневными событиями, которые могут пересекаться. , например. если каждый час в день представлен 1 час, и есть 2 встречи, которые частично перекрываются (например, 12:00 - 12:30 и 12:20 - 01:00), это будет показано в той же строке, но 12:20 один расположен немного ниже первого.

Также могут быть виды (изображение/текст), которые должны охватывать 2 строки (т. Е. 12:30 - 1:30).

Я думаю, что SurfaceView - это один из вариантов (это эффективный?), Но я не уверен, есть ли какой-то лучший макет, который можно использовать.

Мы могли бы использовать TableLayout для рядов часов, но не уверены, есть ли способ разместить перекрывающиеся виджеты на этом?

ТИА

ответ

0

Официальный ответ: создать свой собственный класс менеджера компоновки, который реализует правила, которые вы хотите.

Простой, но слегка грязный ответ: используйте RelativeLayout и поля, чтобы разместить свои виджеты. Чтобы перекрывать виджеты, нужно, чтобы тот, который должен быть сверху, был потомком в макете (например, дальше по списку дочерних элементов XML в файле макета).

Что вы не хотите: AbsoluteLayout. Это устарело.

Смежные вопросы