У меня есть пользовательский вид (Android), который рисует пользовательский индикатор выполнения.Я хочу, чтобы индикатор выполнения заполнил свое родительское представление (ширина).Проблема, с которой я столкнулся, заключается в том, что я не знаю, как собственное представление может получить свои реальные ограничения.он должен знать пределы ширины, чтобы отображать разные цвета в правильном соотношении.Я реализовал onMeasure () следующим образом:
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec)
{
setMeasuredDimension(widthMeasureSpec, 15);
}
Затем в моем onDraw (), когда я вызываю getWidth()
, я получаю: 1073742246. Как я могу узнать реальные родительские границы?очевидно, я сделал что-то не так ... параметры макета вида установлены на MATCH_PARENT / FILL_PARENT, и я могу рисовать всю область, но я не знаю реальной ширины, чтобы нарисовать столбцы в правильной пропорции.
Спасибо,
Ноам