alignSelf 和 alignItems 哪个优先?我设置了 alignItems 但组件没对齐?

我设置了父容器的 alignItems: ItemAlign.Center,但发现有个子组件偏到了底部。后来看到它设置了 .alignSelf(ItemAlign.End),请问这两个属性哪个优先?是不是 alignSelf 会覆盖 alignItems?

阅读 609
1 个回答

你的理解完全正确:alignSelf 优先级高于 alignItems。

alignItems 是容器级别的;
alignSelf 是子组件单独指定的,会覆盖容器默认设置;

示例对比:

Flex({ direction: FlexDirection.Row, alignItems: ItemAlign.Center }) {
  Text('默认对齐') // 会居中
  Text('底部对齐').alignSelf(ItemAlign.End) // 会到底部
}

alignSelf 适合局部微调对齐方式,不建议全局使用。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进