Appcelerator /钛金属-在iPhone X上,如何使工具栏颜色填充到屏幕底部?

时间:2018-12-13 16:02:59

标签: ios appcelerator appcelerator-titanium

对于使用Xcode的人们来说似乎有几种解决方案,但是,我正在使用Appcelerator Studio / Titanium,并且遇到了这个问题:

在iPhone X上,我有一个<Window>和一个extendSafeArea="false",因此工具栏不会位于用户可以向上滑动以转到iPhone主屏幕的区域下方。 <Toolbar>的背景为绿色,带有bottom="0",这使其显示在正确的位置。但是,在下面有一个很大的空白:

iPhone screenshot

如何使工具栏的绿色背景延伸到屏幕底部?

更新:我尝试将“窗口”背景色设置为与“工具栏”相同-部分解决了该问题,但是随后我不得不将ScrollView的背景色设置为白色(对于工具栏上方/下方的实际内容区域)。现在的问题是,当该屏幕动画进入视图时(例如,单击ListView中的项目以加载此屏幕时),它会从绿色动画变为白色,因为ScrollView正在动画。这是一个丑陋的动画,因为它似乎在闪烁绿色,然后淡入内容的正确颜色。还有另一种方法吗?

1 个答案:

答案 0 :(得分:1)

我可以想到几种方法来完成此任务:

  1. 首先,将<Window>设置为extendSafeArea="true",以使其一直向下延伸并覆盖用户可以向上滑动以进入iPhone主屏幕的区域。

    然后,在底部放入绿色视图,填充该下部区域。

    最后,通过调整绿色ToolBar的位置或边距,将其放在现在出现的位置。

    布局应显示ToolBar,但现在仍显示绿色视图,因为窗口允许它填充该空间。

  2. 首先将ToolBar隐藏为0的alpha值,这样一来,当屏幕进入动画视线时,它就根本不会显示。

    经过一小段延迟后,现在显示视图:

    • Window的背景颜色从白色变为与ToolBar相同的绿色。
    • 通过将其alpha值从0设置为1来淡化ToolBar

    与以前的尝试相比,这应使动画效果更丑陋。

  3. 类似于上方的第2点,隐藏ToolBar,但是这次将其移出可见区域下方的屏幕。

    当视图可见时,将窗口留白并稍作延迟:

    • Window的背景颜色从白色逐渐淡入或设置为与ToolBar相同的绿色。
    • 从界面下方向下移动ToolBar的位置到其当前位置。您可以尝试使用跳动或其他效果,以查看结果是否看起来更令人愉悦。同样,您可以探索将ToolBar隐藏在屏幕左侧,然后设置动画以使其从那里进入界面。

想法2和3的共同概念是在ToolBar上使用显示动画,以便“解释”设置Window背景颜色的界面变化。