Установка размера и положения вида поверхности

1

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

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

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

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

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

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

Теги:
surfaceview

2 ответа

2

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

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

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

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

  • 0
    Хорошо. понять это. просто измените onlayout (), установите что-то вроде: View child = getChildAt (0); child.layout (100100300300); и не трогайте onmeasure ().
  • 0
    Я сделал ваш комментарий в ответ, где он принадлежит.
1

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

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

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

yourActivity.getWindowManager() getDefaultDisplay() GetWidth();..

Ещё вопросы

Сообщество Overcoder
Наверх
Меню