如何在 expo react-native List.Item 中垂直对齐图标?
How can I vertically align an icon in an expo react-native List.Item?
我正在使用 react-native-paper 的 List.Item 组件。
我有以下代码:
<List.Item
title={<FirstNameInput />}
right={props => <List.Icon {...props} icon="pencil" />}
style={{ backgroundColor: customTheme.colors.background, justifyContent: 'center' }}
/>
但图标停留在顶部。无论 title
的高度如何,如何使其保持垂直对齐?
您可以使用 flex:
对齐 List.Item
<List.Item
title={<FirstNameInput />}
right={props => <List.Icon {...props} icon="pencil" />}
style={{
backgroundColor: customTheme.colors.background,
justifyContent: 'center',
alignSelf: 'center',
alignItems:'center',
}}
/>
使 List.Icon 垂直居中的唯一方法是以 List.Icon 样式传递 marginVertical。
你必须通过 marginVertical:hight/2-offset
您需要设置偏移量,因为标题正在使用 marginVertical:6 referance
因为标题,左右样式由<View style={styles.row}>
控制reference
const ListItemHeight=300;
const offset=12;
return (
<List.Item
title={"ABC"}
right={props => <List.Icon {...props} style={{marginVertical:ListItemHeight/2-offset}} icon="pencil" />}
style={{
backgroundColor: "red",
width:"100%",
height:ListItemHeight
}}
/>
);
我正在使用 react-native-paper 的 List.Item 组件。
我有以下代码:
<List.Item
title={<FirstNameInput />}
right={props => <List.Icon {...props} icon="pencil" />}
style={{ backgroundColor: customTheme.colors.background, justifyContent: 'center' }}
/>
但图标停留在顶部。无论 title
的高度如何,如何使其保持垂直对齐?
您可以使用 flex:
对齐List.Item
<List.Item
title={<FirstNameInput />}
right={props => <List.Icon {...props} icon="pencil" />}
style={{
backgroundColor: customTheme.colors.background,
justifyContent: 'center',
alignSelf: 'center',
alignItems:'center',
}}
/>
使 List.Icon 垂直居中的唯一方法是以 List.Icon 样式传递 marginVertical。
你必须通过 marginVertical:hight/2-offset
您需要设置偏移量,因为标题正在使用 marginVertical:6 referance
因为标题,左右样式由<View style={styles.row}>
控制reference
const ListItemHeight=300;
const offset=12;
return (
<List.Item
title={"ABC"}
right={props => <List.Icon {...props} style={{marginVertical:ListItemHeight/2-offset}} icon="pencil" />}
style={{
backgroundColor: "red",
width:"100%",
height:ListItemHeight
}}
/>
);