MAUI技术问题:如何缩小CollectionView中按钮的间距?
解决CollectionView按钮间距无法缩小的问题
我尝试缩小CollectionView组件中按钮的间距,已经将LinearItemsLayout的ItemSpacing属性设置为0,但没有效果。相关代码如下:
<CollectionView x:Name="TagsView" Grid.Row="0"> <CollectionView.ItemsLayout> <LinearItemsLayout Orientation="Horizontal" ItemSpacing="0"/> </CollectionView.ItemsLayout> <CollectionView.ItemTemplate> <DataTemplate> <Button Text="{Binding Name}" Padding="7" FontSize="12" CornerRadius="12" HorizontalOptions="FillAndExpand" VerticalOptions="CenterAndExpand" BackgroundColor="AliceBlue" TextColor="Black" Clicked="TagButton_Clicked"/> </DataTemplate> </CollectionView.ItemTemplate> </CollectionView>
当前按钮间距效果如图:
解决方案
- 移除Button的
HorizontalOptions="FillAndExpand"设置,改为HorizontalOptions="Start",让按钮根据自身内容宽度自适应,避免撑满整个Item容器,此时ItemSpacing="0"即可生效。 - 显式设置Button的
Margin="0",部分平台的Button默认带有Margin,这也是导致按钮间出现额外间距的常见原因。
修改后的Button代码示例:
<Button Text="{Binding Name}" Padding="7" Margin="0" FontSize="12" CornerRadius="12" HorizontalOptions="Start" VerticalOptions="CenterAndExpand" BackgroundColor="AliceBlue" TextColor="Black" Clicked="TagButton_Clicked"/>
如果需要按钮保持固定宽度同时间距为0,可调整Button的WidthRequest属性,同时保留Margin="0"和ItemSpacing="0"设置。
内容的提问来源于stack exchange,提问作者Nikola
相关产品推荐
相关产品推荐

