标签文字未完全显示

时间:2021-05-11 13:26:40

标签: xamarin xamarin.forms

我知道之前已经讨论过这个话题。但是我仍然无法从所有讨论中找到一个好的解决方案。我有一个包含 ScrollView 和另一个网格的网格布局。 ScrollView 里面有三个标签。问题是标签中的文本并不总是完整显示。有时甚至更长的文本可以完整显示,有时甚至更短的文本也不能完整显示。这是我的 xamal 代码。标签中的文本是占位符,在 C# 代码中被替换。我是否需要按照某些人的建议为标签定制渲染器?

在第一个屏幕截图中,标题标签包含文本“在物理设备上测试推送通知”。它比第二个屏幕截图中的标题短得多。然而,第二个显示完整。这种奇怪的行为有时也会发生在第三个标签中。第二个标签长度固定,不受影响。

<Grid x:Name="GridLayout">
   <Grid.RowDefinitions>
       <RowDefinition Height="50*" />
       <RowDefinition Height="50*" />
   </Grid.RowDefinitions>

   <ScrollView Grid.Row="0" x:Name="Scroll" x:FieldModifier="public" VerticalOptions="Start"  HeightRequest="320" MinimumHeightRequest="320" Margin="0,0,0,0" Orientation="Vertical">
      <StackLayout Spacing="0" Orientation="Vertical">
          <Label Text="Resources" FontSize="31" x:Name="TitleLabel" x:FieldModifier="public" MaxLines="0" TextColor="Black" Padding="30,15,30,0" LineBreakMode="WordWrap">
             <Label.FontFamily>
                 <OnPlatform x:TypeArguments="x:String">
                     <On Platform="iOS" Value="WorkSans-Bold" />
                     <On Platform="Android" Value="Fonts/WorkSans-Bold.ttf#WorkSans-Bold" />
                 </OnPlatform>
             </Label.FontFamily>
          </Label>
          <Label x:FieldModifier="public"  x:Name="TimeLabel" BackgroundColor="White" TextColor="Black" FontSize="22" FontFamily="sans-serif" MaxLines="0" VerticalOptions="Start" LineBreakMode="WordWrap" Padding="30,5,30,0" Text="Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.">
          </Label>

          <Label x:FieldModifier="public" x:Name="TextLabel" BackgroundColor="White" TextColor="Black" FontSize="16" FontFamily="sans-serif" MaxLines="0" VerticalOptions="FillAndExpand" Padding="30,5,30,0" LineBreakMode="WordWrap" Text="Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.">
          </Label>
      </StackLayout>
  </ScrollView>
  <Grid Grid.Row="1" RowSpacing="3" x:Name="BottomGrid">
  ...
  </Grid>
</Grid>

enter image description here

enter image description here

1 个答案:

答案 0 :(得分:2)

我想您可能需要 Margin 而不是 padding,如果您使用 Padding,则文本会被截断,因为内部区域正在缩小,它可以用作当我用边距替换它时打算。

      <Label Text="Resources" FontSize="31" x:Name="TitleLabel" x:FieldModifier="public" MaxLines="0" TextColor="Black" Margin="30,15,30,0" LineBreakMode="WordWrap">