2011-01-25 3 views
1

Я работаю над интерфейсом, в котором одна половина экрана имеет текстовые поля для ввода пользователем данных, а другая половина имеет холст, на который можно нарисовать и читает пользовательские касания.Установка размера и положения вида поверхности

В настоящее время я расширяю представление поверхности и добавляю, что к моему макету (макет XML) во время выполнения с View.Addview.

Моя проблема заключается в настройке размера и положения вида. Я хочу, чтобы он был квадратным и занимал половину экрана (пейзаж). Я хочу, чтобы она была выровнена с правой стороны и либо центрирована по вертикали, либо выровнена сверху.

Я могу установить размер, переопределив метод onMeasure, но я не знаю, как получить размер дисплея, поэтому я не знаю, как его установить.

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

Спасибо за любую помощь!

ответ

2

есть такой же вопрос. вы нашли ответ?

Я понял. Просто измените onlayout(), установите что-то вроде:

View child=getChildAt(0); 
child.layout(100,100,300,300); 

и не касайтесь onmeasure().

+0

ok. выясните это. просто измените onlayout(), установите что-то вроде: View child = getChildAt (0); child.layout (100100300300); и не касайтесь onmeasure(). –

+0

Я прокомментировал ответ, где он принадлежит. – AShelly

1

, но я не знаю, как получить размер дисплея

Обычно вы не должны явно компоновки компонентов. Его обязанность менеджера компоновки. Вам просто нужно установить ограничения макета.

Вот как получить размер экрана.

yourActivity.getWindowManager(). GetDefaultDisplay(). GetWidth();

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