【问题标题】:adjusting height of StackLayout element调整 StackLayout 元素的高度
【发布时间】:2017-10-18 02:15:14
【问题描述】:

我真的是 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。我只是希望它占用更多空间,这将涉及增加字体大小,但是当我这样做时,它看起来很糟糕。 pic with font size 40。非常感谢我能得到的任何帮助。谢谢!

【问题讨论】:

    标签: android xamarin cross-platform


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:
      1. 检测它是否是平板电脑/手机,为您要使用的变量设置正确的高度
      2. 因为您在 DataTemplate 中,所以将 HeightRequest 绑定到您设置的变量。

      对于数据模板之外的简单情况,您可以将 x:name 赋予元素,然后在构造函数中使用这些名称设置 widthrequests。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-08-16
        • 1970-01-01
        • 2012-02-27
        • 2016-03-19
        • 2011-10-16
        • 1970-01-01
        • 1970-01-01
        • 2020-10-28
        相关资源
        最近更新 更多