Я работаю над интерфейсом, где одна половина экрана имеет текстовые поля редактирования для ввода пользователем данных, а другая половина имеет холст, который можно нарисовать и читать пользовательские штрихи.
В настоящее время я расширяю представление поверхности и добавляю его к макету (Layout is XML) во время выполнения с View.Addview.
Моя проблема заключается в настройке размера и положения представления. Я хочу, чтобы он был квадратным и занимал половину экрана (пейзаж). Я хочу, чтобы она была выровнена с правой стороны и либо центрирована по вертикали, либо выровнена сверху.
Я могу установить размер, переопределив метод onMeasure, но я не знаю, как получить размер дисплея, поэтому я не знаю, как его установить.
У меня нет никаких идей о том, как выровнять представление, я пытался добавить его в различные макеты без большой удачи...
Спасибо за любую помощь!
есть такой же вопрос. вы нашли ответ?
Я понял это. Просто измените onlayout(), установите что-то вроде:
View child=getChildAt(0);
child.layout(100,100,300,300);
и не касайтесь onmeasure().
но я не знаю, как получить размер отображения
Обычно вам не нужно явно компоновать компоненты. Его обязанность менеджера компоновки. Вам просто нужно установить ограничения макета.
Вот как получить размер экрана.
yourActivity.getWindowManager() getDefaultDisplay() GetWidth();..