【发布时间】:2021-09-27 11:12:30
【问题描述】:
我有一个底部导航标签栏的 Figma 示例(上图)。它包括两个以focused 效果显示的按钮。正如你所看到的,当按钮被按下(聚焦)时,它有一个嵌入的阴影(这在 RN 中似乎无法实现),另一个有一个高程效果。假设当另一个按钮焦点不足时他们会切换。
问题在于为我实现嵌入阴影。我已经对这个问题应用了几种方法,但找不到最佳解决方案。正如some of the examples 所示,有可能到达一个盒子(矩形)的嵌入阴影;我发现圆形按钮不可能达到同样的效果。
我尝试过的方法:
- 尝试添加正常阴影(高程效果)。这适用于
elevated按钮,但不能应用于focused按钮。 (我使用了一些阴影生成器,例如 this one by Ether) - 尝试
react-native-svg,这将允许我们构建具有所有属性的自定义 XML/CSS 文件(inset除外,因为它不受支持?) - 正在尝试Expo Linear Gradient。我试图从 [x:0,y:1] 到 [x:1,y:0] - 对角线颜色 - [黑色 (10%), 灰色(40%), 浅灰色 (40%) , 白色 (10%)]。它看起来确实几乎是正确的,但它仍然不像我预期的那样是径向的。
- 尝试条件渲染。我知道根据条件渲染图像是一种糟糕的体验,但我尝试在 GIMP 中创建两张图像(一张有聚焦效果,一张没有),但老实说,我无法用圆形图像做到这一点......李>
如果有人能提出任何好的解决方案或向我提出正确的方向,我将不胜感激。
【问题讨论】:
-
codepen 上的示例是否与您想要的相似?
-
这个答案可能对你有帮助:see answer
-
@YanaTrifonova 这包括不支持的
insetcss。 -
@AliSafari 这不包括上面 Sigma 图像上显示的 2 色阴影(从黑色到白色阴影的对角线效果)
标签: javascript css reactjs react-native