Intereting Posts
Android-манипулирование событиями, когда отображается меню Не удалось разрешить целевое «андроид-21» Ошибка после обновления сервисов Google Play до версии 11.0.0 Android Не удалось запустить эмулятор: не удается запустить программу Как выйти из полноэкранного режима в эмуляторе Android Dropbox как логин? Ускоритель эмулятора intel x86 несовместим с Linux Как мне обрабатывать нажатие кнопки ImeOptions? Android: как добавить фигуру треугольника в правом верхнем углу кнопки Как разместить мои библиотеки перед android.jar, отредактировав build.gradle в Android-Studio Не удалось добавить пользователя в код выхода группы администраторов Hyper-V 2220 Загрузка большого файла в multipart с использованием OkHttp Предупреждение о сбое данных для Android Предупреждение: ссылки на методы, использующие '.' не рекомендуется Название центра Android с навигационным ящиком Android-приложение в Chrome с помощью ARC, кнопка «Назад» вверху включена

Изменение абсолютной позиции с помощью FrameLayout

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

Но я не могу заставить это работать, это мои две попытки:

public void showVideo(RectF bounds) { FrameLayout.LayoutParams params = (FrameLayout.LayoutParams) video.getLayoutParams(); params.width = (int) bounds.width(); params.height = (int) bounds.height(); int x = (int) viewer.getPageXOffset(); int y = (int) viewer.getPageYOffset(); video.setPadding((int) (x + bounds.left), (int) (y + bounds.top), (int) (x + bounds.right), (int) (y + bounds.bottom)); video.setLayoutParams(params); video.invalidate(); video.setVisibility(View.VISIBLE); video.setFocusable(true); video.setFocusableInTouchMode(true); video.requestFocus(); } 

А также:

 public void showVideo(RectF bounds, final String videoUrl) { FrameLayout.LayoutParams params = (FrameLayout.LayoutParams) video.getLayoutParams(); params.width = (int) bounds.width(); params.height = (int) bounds.height(); int x = (int) (viewer.getPageXOffset() + bounds.left); int y = (int) (viewer.getPageYOffset() + bounds.top); params.leftMargin = x; params.topMargin = y; video.setLayoutParams(params); video.invalidate(); video.setVisibility(View.VISIBLE); video.setFocusable(true); video.setFocusableInTouchMode(true); video.requestFocus(); } 

Но в обоих случаях VideoView отображается в v (0,0) (левый верхний угол).

Solutions Collecting From Web of "Изменение абсолютной позиции с помощью FrameLayout"