gpt4 book ai didi

android - 元素未在 Xamarin.Forms 中扩展

转载 作者:搜寻专家 更新时间:2023-11-01 08:18:12 27 4
gpt4 key购买 nike

使用StartAndExpandEndAndExpand 似乎并没有实际扩展StackLayout 中的元素。尽管有更多可用空间,如蓝色区域所示。只有 FillAndExpand 有效。

代码如下:

<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:ios="clr-namespace:Xamarin.Forms.PlatformConfiguration.iOSSpecific;assembly=Xamarin.Forms.Core"
xmlns:local="clr-namespace:App6"
x:Class="App6.MainPage"
ios:Page.UseSafeArea="True">

<StackLayout BackgroundColor="Blue"
HeightRequest="100"
Orientation="Horizontal"
Spacing="0"
VerticalOptions="Start">
<Label BackgroundColor="Red"
HorizontalOptions="Start"
Text="Hi" />
<StackLayout BackgroundColor="Salmon"
HorizontalOptions="EndAndExpand"
Orientation="Vertical">
<BoxView BackgroundColor="Red"
HeightRequest="30"
HorizontalOptions="End"
VerticalOptions="Center"
WidthRequest="30" />
</StackLayout>
</StackLayout>
</ContentPage>

这是我得到的:

enter image description here

最佳结果是对子 StackLayout 使用 FillAndExpand,然后是不展开的 EndAndExpand,最后是 StartAndExpand,也不会展开。

如果父元素有更多空间,expand 不应该扩展元素吗?如果是,为什么 StartAndExpandEndAndExpand 不起作用?

注意:这仅在 Android 上使用 Xamarin.Forms 版本 3.4.0.1008975 进行了测试。

最佳答案

引用@AndroDevil 的评论,空间实际上分布在StackLayout 的子元素之间,但它们不能填充它,除非它们的布局选项包含Fill。它的工作方式或多或少类似于 FlexLayout 的 space between option。

我刚刚向 StackLayout 添加了另一个元素,现在更清楚发生了什么。

代码如下:

<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:ios="clr-namespace:Xamarin.Forms.PlatformConfiguration.iOSSpecific;assembly=Xamarin.Forms.Core"
xmlns:local="clr-namespace:App6"
x:Class="App6.MainPage"
ios:Page.UseSafeArea="True">

<StackLayout BackgroundColor="Blue"
HeightRequest="100"
Orientation="Horizontal"
Spacing="0"
VerticalOptions="Start">
<Label BackgroundColor="Red"
HorizontalOptions="Start"
Text="Hi" />

<Label BackgroundColor="Red"
HorizontalOptions="EndAndExpand"
Text="Bye" />

<StackLayout BackgroundColor="Salmon"
HorizontalOptions="EndAndExpand"
Orientation="Vertical">
<BoxView BackgroundColor="Red"
HeightRequest="30"
HorizontalOptions="End"
VerticalOptions="Center"
WidthRequest="30" />
</StackLayout>
</StackLayout>
</ContentPage>

这是我得到的:

enter image description here

所以 Expand 的意思如下:

  • StartAndExpand:给我更多的空间,但把我放在左边。
  • CenterAndExpand:给我更多的空间,但把我放在中间。
  • EndAndExpand:给我更多空间,但让我靠右。
  • FillAndExpand:给我更多的空间,我会填满它。

关于android - 元素未在 Xamarin.Forms 中扩展,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55788834/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com