Как получить доступ к layout_height из моего пользовательского представления

У меня есть пользовательское представление, и я просто хочу получить доступ к значению макета xml layout_height .

В настоящее время я получаю эту информацию и сохраняю ее во время onMeasure, но это происходит только тогда, когда представление впервые нарисовано. Мой вид - это график XY, и он должен знать его высоту как можно раньше, чтобы он мог начать выполнять вычисления.

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

Спасибо !!!

7
задан Brad Hein 22 August 2010 в 17:19
поделиться

1 ответ

Из общедоступного представления (контекст контекста, атрибуты атрибутов) документы конструктора:

Конструктор, который вызывается, когда раздувание представления из XML. Это вызывается, когда вид построенный из файла XML, предоставление атрибутов, которые были указанный в XML-файле.

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

public CustomView(final Context context, AttributeSet attrs) {
    super(context, attrs);
    String height = attrs.getAttributeValue("android", "layout_height");
    //further logic of your choice..
}
4
ответ дан 6 December 2019 в 09:17
поделиться
Другие вопросы по тегам:

Похожие вопросы: