Установка положения представления в API Level 7 программно
В данный момент я пытаюсь установить положение моего программно созданного представления, используя следующий код:
LayoutParams params = bottomBar.getLayoutParams();
params.height = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP,(float) 5, getResources().getDisplayMetrics());
params.width = LayoutParams.MATCH_PARENT;
bottomBar.setLayoutParams(params);
bottomBar.setLeft(0);
bottomBar.setTop(this.getHeight()-bottomBar.getHeight());
ЗАДАЧА
Ошибка, которую я получаю, заключается в том, что я не могу использовать свойства setLeft
и setTop
на уровнях api меньше 11.
ВОПРОС
Как программно задать положение вида в API level < 11
1 ответ:
Похоже, что вы уже создаете пользовательский вид, поэтому вы должны переопределить
onLayout()
и вызватьView#layout(int left, int top, int right, int bottom)
на нужном макете.final int left = 0; final int top = getHeight() - bottomBar.getHeight(); final int right = left + bottomBar.getWidth(); final int bottom = top + bottomBar.getHeight(); bottomBar.layout(left, top, right, bottom);