Как растянуть вид мультимедиа, сохраняя вид медиа по центру в javafx - PullRequest
0 голосов
/ 09 января 2019

Я создание вида средств массовой информации, чтобы растянуть в соответствии с контейнером (анкерной панелью), сохраняя при этом соотношении сторон в средствах массовой информации путем связывания ширины просмотра медиа и высоты по ширине и высоте контейнера. Я обнаружил, что при изменении размера только ширины контейнера вид мультимедиа изменяется, но носитель всегда находится слева от вида мультимедиа или при изменении высоты носитель всегда находится сверху. но я хочу, чтобы он был центрирован как для макета X, так и для макета Y, но при этом изменял размер.

Я попытался связать xtranslate представления мультимедиа с вычитанием ширины области привязки и ширины представления мультимедиа, разделенным на 2, но это не работает, так как ширина представления мультимедиа связана с шириной контейнера, вычитание между ними всегда будет производить 0, в конечном итоге xtranslate всегда принимает 0.

mainMediaView.setPreserveRatio(true);

// binding both media view width and height to anchor pane width and height
mainMediaView.fitWidthProperty().bind(centerAnchorPane.widthProperty());
mainMediaView.fitHeightProperty().bind(centerAnchorPane.heightProperty());

// should make media view move to center according to X coordinates
mainMediaView.translateXProperty().bind(centerAnchorPane.widthProperty()
    .subtract(mainMediaView.fitWidthProperty()).divide(2));

// should make media view move to center according to Y coordinates
mainMediaView.translateYProperty().bind(centerAnchorPane.heightProperty()
    .subtract(mainMediaView.fitHeightProperty()).divide(2));

1 Ответ

0 голосов
/ 09 января 2019

вы можете "привязать" ваш mediaView к anchorPane с помощью этого:

centreAnchorPane.setTopAnchor(mainMediaView, 0.0);
centreAnchorPane.setBottomAnchor(mainMediaView, 0.0);
centreAnchorPane.setLeftAnchor(mainMediaView, 0.0);
centreAnchorPane.setRightAnchor(mainMediaView, 0.0);

Теперь установите выравнивание по центру, и все готово ^^

ссылка на документацию

С наилучшими пожеланиями

...