我有一个在 Xamarin.Forms 中使用新 Shell 的应用程序。我将以下代码添加到我的页面之一,试图使用 TitleView 区域居中显示我的应用程序标题图像。 (仅供参考 - 我已经尝试过居中对齐这两个选项,但没有什么区别。)
<Shell.TitleView>
<Image Source="UCIApp.png"
HorizontalOptions="FillAndExpand"
VerticalOptions="FillAndExpand" />
</Shell.TitleView>
执行此操作后得到的图像是标题栏中的图像,但以空间为中心,不包括左侧的汉堡包按钮,如下所示:
我更喜欢的是它居中,无论汉堡菜单占用的空间如何,看起来像这样:
有什么建议么?
另外 - 将图像放入 TitleView 会导致其缩小。有什么办法可以避免这种情况吗?
是的,设计失败并且没有选项定制。我更喜欢Grid对于像这样的问题。您可以使用带有百分比的列或行。
默认地点。
<Shell.TitleView>
<Grid>
<ffimageloadingsvg:SvgCachedImage
Source="https://stackoverflow.design/assets/img/logos/so/logo-stackoverflow.svg"
Margin="10"/>
</Grid>
</Shell.TitleView>
在此示例中,第一列为 4/5 单位,第二列为 1/5 单位(* 符号表示百分比或除法)。
<Shell.TitleView>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="4*"/>
<ColumnDefinition Width="1*"/>
</Grid.ColumnDefinitions>
<BoxView BackgroundColor="Yellow"/>
<BoxView Grid.Column="1" BackgroundColor="LightGoldenrodYellow"/>
</Grid>
</Shell.TitleView>
然后将图像文本或控件添加到首选布局(图像控件默认列为0).
<Shell.TitleView>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="4*"/>
<ColumnDefinition Width="1*"/>
</Grid.ColumnDefinitions>
<ffimageloadingsvg:SvgCachedImage
Source="https://stackoverflow.design/assets/img/logos/so/logo-stackoverflow.svg"
Margin="10"/>
</Grid>
</Shell.TitleView>
Edit:向网格或图像控件添加最小高度以防止调整内容大小。还ffimageloadingsvg是用于加载 svg 文件的第三方包。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)