【问题标题】:strange space between buttons in XamarinXamarin中按钮之间的奇怪空间
【发布时间】:2018-10-05 06:54:55
【问题描述】:

我在 Xamarin 的一小部分 UI 中工作,只是一个“卡片”,右侧有一些标签和两个按钮作为一列。在这里你可以看到我的 Xaml:

<Grid BackgroundColor="White" RowSpacing="0" ColumnSpacing="0" Margin="10,10,10,0">
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="*"/>
        <ColumnDefinition Width="80"/>
    </Grid.ColumnDefinitions>

    <StackLayout Grid.Column="1" 
                 Spacing="0" 
                 BackgroundColor="PaleGoldenrod">
        <Button Text="OPEN" Margin="0" 
                VerticalOptions="FillAndExpand" 
                HeightRequest="70"/>
        <Button Text="RESET" Margin="0" 
                VerticalOptions="FillAndExpand" 
                HeightRequest="70"/>
    </StackLayout>

    <Label TextColor="Black" Margin="5">Relojes</Label>
    <Label  HorizontalTextAlignment="End" 
            TextColor="Black" 
            Margin="5">Sin Tocar</Label>
</grid>

在这里你可以看到我所拥有的图片:

我想删除两个按钮之间的空间,使它们四周均匀分布。我尝试将上按钮的下边距设置为-2.5,将下按钮的上边距设置为-2.5,看起来还可以,但是..必须有一个更干净的选项。 有什么想法吗??

【问题讨论】:

  • 你给的高度要求是70,能不能增加一下,检查一次?
  • 按钮按预期增长,但它们之间的空间没有改变(整张卡片随着按钮增长)
  • 然后使用网格布局而不是堆栈

标签: user-interface xamarin margins stacklayout


【解决方案1】:

StackLayout 中使用Spacing 以减少控件之间的空间。这里Spacing 减号。

<StackLayout  Grid.Column="1" 
Spacing="-8" 
BackgroundColor="PaleGoldenrod">
<Button Text="OPEN" Margin="0" 
VerticalOptions="FillAndExpand" 
HeightRequest="70"/>
<Button Text="RESET" Margin="0" 
VerticalOptions="FillAndExpand" 
HeightRequest="70"/>
</StackLayout>

【讨论】:

  • 这真的是它的本意吗?要获得零间距,您必须使用 -"some unknown value" ???
  • 我不认为创建 xamarin 的人决定:“要获得零间距,他们必须找出一个幻数并将其用作负间距。
  • 据我所知,根据 xamarin 默认的 stacklayout 间距值 = 6。
  • 这应该是你什么都不做的值。并且当将间距设置为零时..令人惊讶的是它不是零。不是吗? Horizo​​ntalOption 的默认值被正确覆盖。你不需要做“-defaultvalue”
  • 是的,这很令人惊讶。但微软从不做任何没有理由的事情。
猜你喜欢
  • 2011-04-24
  • 1970-01-01
  • 1970-01-01
  • 2017-08-19
  • 2011-11-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多