我使用下拉菜单https://shoutem.github.io/docs/ui-toolkit/components/dropdown-menu
默认情况下,菜单中的最后一项设置为透明,我想知道是否可以禁用它,因为我只使用菜单中的 2 个项目,它使我的第二个项目是透明的,几乎看不到。
我使用下拉菜单https://shoutem.github.io/docs/ui-toolkit/components/dropdown-menu
默认情况下,菜单中的最后一项设置为透明,我想知道是否可以禁用它,因为我只使用菜单中的 2 个项目,它使我的第二个项目是透明的,几乎看不到。
恐怕这不能通过简单的 bool 道具或类似的东西来禁用。此选项可能会在将来添加。现在,我建议您尝试编辑 UI 工具包的主题。
如果您使用的是 Shoutem 平台,您可以创建一个可以在您的应用程序中使用的自定义主题(作为新的自定义扩展)。如果没有,您可以手动定义默认 UI 工具包主题,您可以在其中“禁用”此渐变。
在这两种情况下,您都需要覆盖DropDownModal组件主题样式。
这是传递给组件的默认主题样式。
'shoutem.ui.DropDownModal': {
modal: {
'shoutem.ui.Button.close': {
'shoutem.ui.Icon': {
color: changeColorAlpha(variables.subtitle.color, 0.5),
fontSize: 24,
},
position: 'absolute',
bottom: 25,
left: 0,
right: 0,
},
flex: 1,
justifyContent: 'center',
alignItems: 'center',
paddingVertical: 20,
backgroundColor: changeColorAlpha(variables.backgroundColor, 0.97),
},
....
},
您可以为覆盖此特定样式属性的工具包定义一个新主题。所以你可以传入类似的东西
'shoutem.ui.DropDownModal': {
modal: {
backgroundColor: 'transparent',
},
},
我们使用 backgroundColor 属性来设置实际下拉列表上方的叠加层样式。
如果您不使用 Shoutem 平台,则可以使用从 UI 工具包导出的getTheme来获取默认主题。这将为您提供已解析的样式对象,您可以将上面的更改合并到其中。然后,使用@shoutem/theme
;将新主题设置为当前主题
import { Theme } from '@shoutem/theme';
Theme.setDefaultThemeStyle(myCustomTheme);
如果您使用的是 Shoutem 平台,您可以通过创建一个新的主题扩展来创建相同的覆盖,该扩展合并来自 Rubicon 主题扩展的默认样式。