2

您好我正在尝试实现一个没有边距的底部按钮栏,但行为不是预期的。

我的按钮在 stackLayout 中变平了,它们看起来不错,但有边距。

您还可以看到,在第一张图像中,“D”图像在底部被切割,滚动视图和按钮之间似乎有一个间距,我该如何删除它?

是)我有的

var consultorButtons = new Grid()
{
    VerticalOptions = LayoutOptions.EndAndExpand,
    HorizontalOptions = LayoutOptions.FillAndExpand,
    Margin = new Thickness(0),
    Padding = new Thickness(0),
    RowSpacing = 0,
    ColumnSpacing = 0,

};

consultorButtons.RowDefinitions.Add(new RowDefinition { Height = new GridLength(1, GridUnitType.Star) });
consultorButtons.ColumnDefinitions.Add(new ColumnDefinition { Width = new GridLength(1, GridUnitType.Star) });
consultorButtons.ColumnDefinitions.Add(new ColumnDefinition { Width = new GridLength(1, GridUnitType.Star) });

consultorButtons.Children.Add(
    new Button
    {
        Text = "TELEFONAR",
        BackgroundColor = Color.FromHex("#21c9ae"),
        HorizontalOptions = LayoutOptions.FillAndExpand,
        VerticalOptions = LayoutOptions.FillAndExpand,
        Margin = new Thickness(0),
        FontSize = 14
    }, 0, 0);

consultorButtons.Children.Add(
    new Button
    {
        Text = "EMAIL",
        BackgroundColor = Color.FromHex("#272f57"),
        HorizontalOptions = LayoutOptions.FillAndExpand,
        VerticalOptions = LayoutOptions.FillAndExpand,
        TextColor = Color.White,
        Margin = new Thickness(0),
        FontSize = 14
    }, 1, 0);

网格

网格

堆栈布局

堆

4

2 回答 2

3

您可以像这样将行高更改为 Auto 来解决您的问题:

consultorButtons.RowDefinitions.Add(new RowDefinition { Height = GridLength.Auto });

要删除滚动视图和按钮之间的额外空间Spacing="0"<StackLayout>请在其中放置这两个控件。

希望这可以解决您的问题。

于 2018-07-03T10:20:47.003 回答
1

您没有为网格保留足够的空间。这就是按钮缩小的原因。

尝试向主网格添加特定高度,因为您的子按钮具有 FillAndExpand 选项。

var consultorButtons = new Grid()
{
    VerticalOptions = LayoutOptions.EndAndExpand,
    HorizontalOptions = LayoutOptions.FillAndExpand,
    Margin = new Thickness(0),
    Padding = new Thickness(0),
    HeightRequest=70, // Have your height request here
    RowSpacing = 0,
    ColumnSpacing = 0,

};

您也可以将 设置RowDefinitionAuto,但是出于性能原因,这不是很好,因为您正在增加布局 cicle 计算。

于 2018-07-03T10:15:46.357 回答