#android #textview
#Android #текстовое представление
Вопрос:
У меня есть приложение, которое показывает вид камеры на экране в FrameLayout. Экран находится в фиксированном ландшафтном режиме.
Мне нужно написать текстовое представление с динамически определяемыми координатами экрана. Координаты определяются в процентах, например :
напишите текстовое представление на координатах x = 80% экрана и y = 20% экрана. напишите текстовое представление на координатах x = 35% экрана и y = 55% экрана.
как это сделать? у меня уже есть проценты, мне нужно только знать, как их использовать, чтобы записать текстовое представление в нужной позиции FrameLayout
приветствуются примеры кода
я пытался с этим, но не работает, текстовое представление не перемещается:
TextView poi..... etc etc
poi.setLayoutParams(new LayoutParams((int)(w*(xCoordPercent/100)), h/2));
Спасибо
Комментарии:
1. Я думаю, что вы пытаетесь анимировать текстовое представление. Если это так, вам следует ознакомиться с учебными пособиями об этом, это довольно просто для таких базовых движений, и это может дать вам идеи, пока вы ждете дополнительных ответов здесь.
2. нет, нет, я не хочу его анимировать, я только хочу перемещать текст на экране слева направо, сверху вниз, в зависимости от динамически генерируемых координат. Позже я буду использовать изображение, но сейчас мне нужно добавить текстовое представление
Ответ №1:
MarginLayoutParams params=(MarginLayoutParams )poi.getLayoutParams();
params.leftMargin=80;
//here 100 means 100px,not 80% of the width of the parent view
//you may need a calculation to convert the percentage to pixels.
params.topMargin=50;
poi.setLayoutParams(params);
Это может помочь.
Комментарии:
1. это не работает. POI по-прежнему отображается в верхнем левом углу экрана. Я должен перерисовать окно или что-то в этом роде? в FrameLayout также есть cameraview. Что не так? я застрял