В настоящее время я разрабатываю приложение MAUI и часто использую <Border />, но при попытке использовать его внутри сетки шириной 335 единиц оно обрезается, вот мой код:
<ScrollView x:Name = "InputScroll">
<Grid
HorizontalOptions = "Center"
Margin = "0,25,0,25"
VerticalOptions = "Start"
WidthRequest = "335">
<Grid.RowDefinitions>
<RowDefinition Height = "25" />
<RowDefinition Height = "*" />
<RowDefinition Height = "37" />
</Grid.RowDefinitions>
<Border
Background = "White"
StrokeThickness = "0"
Grid.Row = "0"
Grid.RowSpan = "3">
<Border.StrokeShape>
<RoundRectangle CornerRadius = "20" />
</Border.StrokeShape>
</Border>
</Grid>
</ScrollView>
Все это внутри ContentPage
На iOS он работает отлично, как показано на изображении.
Но на андроиде показывает вот так
Если я опускаюсь ниже 300 единиц, все работает отлично, но я получаю огромное пространство с правой стороны.
Я не уверен, что я упустил что-то действительно очевидное или оно просто сломано там, но любая помощь или подсказка о том, как справиться/исправить это, будут высоко оценены.
Заранее спасибо
Я попробовал предоставленный вами код и обнаружил, что код HorizontalOptions = "Center" вызывает эту ошибку на платформе Android. Я удалил HorizontalOptions = "Center", затем протестировал на платформе Android и Windows, все сработало.
<ScrollView x:Name = "InputScroll">
<Grid
Margin = "0,25,0,25"
VerticalOptions = "Start"
WidthRequest = "335"
Background = "black">
<Grid.RowDefinitions>
<RowDefinition Height = "25" />
<RowDefinition Height = "*" />
<RowDefinition Height = "37" />
</Grid.RowDefinitions>
<Border
Background = "red"
StrokeThickness = "0"
Grid.Row = "0"
Grid.RowSpan = "3">
<Border.StrokeShape>
<RoundRectangle CornerRadius = "20" />
</Border.StrokeShape>
</Border>
</Grid>
</ScrollView>
Это сработало, спасибо, но это странное поведение при использовании атрибута HorizontalOptions = "Center". Спасибо.