Appcelerator / Titanium - на iPhone X, как сделать так, чтобы цвет панели инструментов заполнял нижнюю часть экрана? - PullRequest
0 голосов
/ 13 декабря 2018

Существует несколько решений для людей, использующих Xcode, однако я использую Appcelerator Studio / Titanium, и у меня возникает эта проблема:

На iPhone X у меня есть <Window>с extendSafeArea="false", чтобы панель инструментов не находилась ниже области, где пользователи могут провести пальцем вверх, чтобы перейти на домашний экран iPhone.У <Toolbar> есть зеленый фон с bottom="0", который заставляет его появляться в правильном положении.Тем не менее, внизу есть большое пустое пространство:

iPhone screenshot

Как получить зеленый фон панели инструментов, чтобы он доходил до нижней части экрана?

Обновление: Я попытался установить цвет фона окна таким же, как и на панели инструментов, что частично решило проблему, однако затем мне пришлось установить цвет фона ScrollView на белый (для фактической области содержимого выше / ниже панели инструментов).Теперь проблема в том, что когда этот экран анимируется (например, при щелчке элемента в ListView для загрузки этого экрана), он анимируется с зеленого на белый, потому что анимация ScrollView появляется. Это уродливая анимация, которая, как кажется, мигаетзеленый, а затем исчезнуть в правильный цвет для содержимого.Есть ли другой способ сделать это?

1 Ответ

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

Я могу придумать несколько способов сделать это:

  1. Во-первых, сделайте <Window> иметь extendSafeArea="true", чтобы он растягивался полностью и покрывалобласть, где пользователи могут провести пальцем вверх, чтобы перейти на домашний экран iPhone.

    Затем поместите зеленый вид внизу, заполняя эту нижнюю область.

    Наконец, поместите зеленый ToolBar вто же место, что и сейчас, путем настройки его положения или полей.

    В макете должно отображаться ToolBar, как есть сейчас, но под ним должен быть зеленый вид, поскольку окно позволяет его заполнитьэто пробел.

  2. Начните с сокрытия ToolBar со значением альфа 0, чтобы оно вообще не отображалось в начале, когда на экране появляется анимация.

    После небольшой задержки, когда теперь отображается вид:

    • Исчезает цвет фона Window от белого до того же зеленого, что и ToolBar.
    • Затухание в ToolBar, анимируя его альфа-значение от 0 до 1.

    Это должно привести к меньшему угуy анимация, чем ваша предыдущая попытка.

  3. Как и в пункте 2 выше, скройте ToolBar, но на этот раз переместите его за пределы экрана ниже видимой области.

    Оставьте окно белым и с небольшой задержкой, когда виден вид:

    • Исчезайте или прямо устанавливайте цвет фона Window от белого до того же зеленого, что и ToolBar.
    • Анимация позиции ToolBar снизу интерфейса к ее текущей позиции.Вы можете попробовать использовать отскок или другой эффект, чтобы увидеть, выглядит ли результат более приятным.Точно так же вы можете скрыть ToolBar выключенный экран влево и затем анимировать его, чтобы он оттуда вошел в интерфейс.

Общая концепция идей 2 и 3должен использовать анимацию открытия на ToolBar, чтобы «объяснить» изменение в интерфейсе, который устанавливает цвет фона Window.

...