调整堆栈布局元素的高度



我真的很陌生Xamarin Forms,我只是被赋予了调整此应用程序的Android版本的UI的任务。在Android手机上,UI看起来不错,但在平板电脑上它有点小。因此,我开发了一个新页面,以便在设备是平板电脑时转到,但是我似乎无法调整StackLayout元素的高度。代码如下:

<ListView.ItemTemplate>
  <DataTemplate>
    <ViewCell>
      <StackLayout VerticalOptions="Fill" Spacing="0" Padding="0" Margin="0">
        <StackLayout VerticalOptions="Fill" HeightRequest="60" Padding="2" Orientation="Horizontal">
          <Label VerticalOptions="Center" FontSize="19" Margin="14,0,0,0" Text="{Binding Name}" TextColor="White" ></Label>
          <Image VerticalOptions="Center" HorizontalOptions="EndAndExpand" HeightRequest="50" WidthRequest="30" Source="imgArrow.png"></Image>
        </StackLayout>
        <BoxView Margin="0,2,0,0" HeightRequest="0.5" BackgroundColor="White" />
      </StackLayout>
    </ViewCell>
  </DataTemplate>
</ListView.ItemTemplate>

知道我在 HeightRequest 字段中输入什么值,它看起来总是相同的。我确定我在这里错过了一些完全基本的东西。这是它在屏幕上的外观 https://imgur.com/MAHgOgr。我只是希望它占用更多空间,这将涉及增加字体大小,但是当我这样做时,它看起来很糟糕。字体大小为 40 的图片。我能得到的任何帮助都非常感谢。谢谢!

您是否尝试将列表视图的"HasUnevenRows"属性设置为 true?

我认为它会解决您的字体大小问题

  1. 检测它是否是平板电脑/手机,为要使用的变量设置正确的高度
  2. 因为你在数据模板中,将高度请求绑定到你设置的变量。

对于数据模板之外的简单情况,您可以为元素提供 x:name,然后在构造函数中使用这些名称设置宽度请求。

最新更新