我正在开发一个xamarin.forms应用程序,这里如图所示我在标签字段和按钮之间获得了很宽的垂直间距,所以我需要减少它们并按正确的顺序对齐它们,这里是XAML代码所以请建议我需要做出哪些改变?
export default class HeaderComponent extends Component {
render() {
return (
<Header>
<Left>
<Button
transparent
onPress={() => this.props.navigation.navigate('DrawerOpen')}
>
<Icon name='menu' />
</Button>
</Left>
<Body>
<Title>Roam</Title>
</Body>
<Right>
<Button transparent
onPress={() => this.props.navigation.navigate('Profile')}
>
<Icon name='person' />
</Button>
</Right>
</Header>
);
}
}
要使按钮向上移动,我需要做出哪些更改? 感谢
答案 0 :(得分:0)
问题在于您对Grid.Row
附加属性的使用。在第一个网格中,您定义了2行但是,然后,您将其某些子控件分配给属性Grid.Row
为4,5和6.这会隐式强制创建其他行,并最终得到一个有7行的网格(因为当然行是基于0的)。
当行没有给出明确的高度时,它们被赋予“*”,这意味着“等比例”,即所有相同的大小。仅此而已创造了大量额外空间。
此外,在第二个Grid中,带有按钮的Grid,只用一行定义它,但是为所有三个按钮分配Grid.Row = "1"
,这样就强制创建第二行。同样,因为您没有指定高度,所以新创建的行与包含按钮的行的大小相同。
要解决所有这些问题,你必须:
Grid.Row = "0"
分配给第一个标签和第一个条目。Grid.Row="1"
分配给第二个标签和第二个条目。Grid.Row="0"
分配给所有三个按钮。如果您希望标签显示在相对条目上,请将Grid.Row = "0"
分配给第一个标签,Grid.Row = "1"
分配给第一个条目,Grid.Row = "2"
分配给第二个标签Grid.Row = "3"
1}}到第二个条目。
此外,为清晰起见,请使用Height="Auto"
或Height="*"
在网格中定义四行。
为了使您的代码更简洁,请注意: