Fix truncated bottom on Password generator when large font size is set on Android (#1782)

This commit is contained in:
Federico Maccaroni 2022-02-15 19:10:43 -03:00 committed by GitHub
parent 95581bd4d9
commit 02562be8c7
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 241 additions and 237 deletions

View file

@ -36,251 +36,255 @@
</ResourceDictionary> </ResourceDictionary>
</ContentPage.Resources> </ContentPage.Resources>
<ScrollView Padding="0, 0, 0, 20"> <!--WORKAROUND: Wrapped in a ContentView to fix bottom screen but when using large font size on Android.
<StackLayout Spacing="0" Padding="0"> Check when https://github.com/xamarin/Xamarin.Forms/pull/15076 is released that may fix this without wrapping
<StackLayout StyleClass="box"> in ContentView.-->
<Grid IsVisible="{Binding IsPolicyInEffect}" <ContentView>
Margin="0, 12, 0, 0" <ScrollView Padding="0, 0, 0, 20">
RowSpacing="0" <StackLayout Spacing="0" Padding="0">
ColumnSpacing="0"> <StackLayout StyleClass="box">
<Grid.RowDefinitions> <Grid IsVisible="{Binding IsPolicyInEffect}"
<RowDefinition Height="Auto" /> Margin="0, 12, 0, 0"
<RowDefinition Height="*" /> RowSpacing="0"
</Grid.RowDefinitions> ColumnSpacing="0">
<Grid.ColumnDefinitions> <Grid.RowDefinitions>
<ColumnDefinition Width="*" /> <RowDefinition Height="Auto" />
<ColumnDefinition Width="Auto" /> <RowDefinition Height="*" />
</Grid.ColumnDefinitions> </Grid.RowDefinitions>
<Frame Padding="10" <Grid.ColumnDefinitions>
Margin="0" <ColumnDefinition Width="*" />
HasShadow="False" <ColumnDefinition Width="Auto" />
BackgroundColor="Transparent" </Grid.ColumnDefinitions>
BorderColor="Accent"> <Frame Padding="10"
<Label Margin="0"
Text="{u:I18n PasswordGeneratorPolicyInEffect}" HasShadow="False"
StyleClass="text-muted, text-sm, text-bold" BackgroundColor="Transparent"
HorizontalTextAlignment="Center" /> BorderColor="Accent">
</Frame> <Label
</Grid> Text="{u:I18n PasswordGeneratorPolicyInEffect}"
<controls:MonoLabel StyleClass="text-muted, text-sm, text-bold"
x:Name="lblPassword" HorizontalTextAlignment="Center" />
StyleClass="text-lg, text-html" </Frame>
Text="{Binding ColoredPassword, Mode=OneWay}" </Grid>
Margin="0, 20" <controls:MonoLabel
HorizontalTextAlignment="Center" x:Name="lblPassword"
HorizontalOptions="CenterAndExpand" StyleClass="text-lg, text-html"
LineBreakMode="CharacterWrap" /> Text="{Binding ColoredPassword, Mode=OneWay}"
<Button Text="{u:I18n RegeneratePassword}" Margin="0, 20"
StyleClass="btn-primary" HorizontalTextAlignment="Center"
HorizontalOptions="FillAndExpand" HorizontalOptions="CenterAndExpand"
Clicked="Regenerate_Clicked"></Button> LineBreakMode="CharacterWrap" />
<Button Text="{u:I18n CopyPassword}" <Button Text="{u:I18n RegeneratePassword}"
HorizontalOptions="FillAndExpand" StyleClass="btn-primary"
Clicked="Copy_Clicked"></Button>
</StackLayout>
<StackLayout StyleClass="box">
<StackLayout StyleClass="box-row-header">
<Label Text="{u:I18n Options, Header=True}"
StyleClass="box-header, box-header-platform" />
</StackLayout>
<StackLayout StyleClass="box-row, box-row-input">
<Label
Text="{u:I18n Type}"
StyleClass="box-label" />
<Picker
x:Name="_typePicker"
ItemsSource="{Binding TypeOptions, Mode=OneTime}"
SelectedIndex="{Binding TypeSelectedIndex}"
StyleClass="box-value" />
</StackLayout>
<StackLayout Spacing="0"
Padding="0"
IsVisible="{Binding IsPassword, Converter={StaticResource inverseBool}}">
<StackLayout StyleClass="box-row, box-row-stepper">
<Label
Text="{u:I18n NumberOfWords}"
StyleClass="box-label-regular"
VerticalOptions="FillAndExpand"
VerticalTextAlignment="Center" />
<Label
Text="{Binding NumWords}"
StyleClass="box-sub-label"
HorizontalOptions="FillAndExpand" HorizontalOptions="FillAndExpand"
HorizontalTextAlignment="End" Clicked="Regenerate_Clicked"></Button>
VerticalOptions="FillAndExpand" <Button Text="{u:I18n CopyPassword}"
VerticalTextAlignment="Center" /> HorizontalOptions="FillAndExpand"
<controls:ExtendedStepper Clicked="Copy_Clicked"></Button>
Value="{Binding NumWords}" </StackLayout>
Maximum="20" <StackLayout StyleClass="box">
Minimum="3" <StackLayout StyleClass="box-row-header">
Increment="1" /> <Label Text="{u:I18n Options, Header=True}"
StyleClass="box-header, box-header-platform" />
</StackLayout> </StackLayout>
<BoxView StyleClass="box-row-separator" />
<StackLayout StyleClass="box-row, box-row-input"> <StackLayout StyleClass="box-row, box-row-input">
<Label <Label
Text="{u:I18n WordSeparator}" Text="{u:I18n Type}"
StyleClass="box-label" /> StyleClass="box-label" />
<Entry <Picker
Text="{Binding WordSeparator}" x:Name="_typePicker"
IsSpellCheckEnabled="False" ItemsSource="{Binding TypeOptions, Mode=OneTime}"
IsTextPredictionEnabled="False" SelectedIndex="{Binding TypeSelectedIndex}"
StyleClass="box-value" /> StyleClass="box-value" />
</StackLayout> </StackLayout>
<StackLayout StyleClass="box-row, box-row-switch"> <StackLayout Spacing="0"
<Label Padding="0"
Text="{u:I18n Capitalize}" IsVisible="{Binding IsPassword, Converter={StaticResource inverseBool}}">
StyleClass="box-label-regular" <StackLayout StyleClass="box-row, box-row-stepper">
HorizontalOptions="StartAndExpand" /> <Label
<Switch Text="{u:I18n NumberOfWords}"
IsToggled="{Binding Capitalize}" StyleClass="box-label-regular"
IsEnabled="{Binding EnforcedPolicyOptions.Capitalize, VerticalOptions="FillAndExpand"
Converter={StaticResource inverseBool}}" VerticalTextAlignment="Center" />
StyleClass="box-value" <Label
HorizontalOptions="End" /> Text="{Binding NumWords}"
StyleClass="box-sub-label"
HorizontalOptions="FillAndExpand"
HorizontalTextAlignment="End"
VerticalOptions="FillAndExpand"
VerticalTextAlignment="Center" />
<controls:ExtendedStepper
Value="{Binding NumWords}"
Maximum="20"
Minimum="3"
Increment="1" />
</StackLayout>
<BoxView StyleClass="box-row-separator" />
<StackLayout StyleClass="box-row, box-row-input">
<Label
Text="{u:I18n WordSeparator}"
StyleClass="box-label" />
<Entry
Text="{Binding WordSeparator}"
IsSpellCheckEnabled="False"
IsTextPredictionEnabled="False"
StyleClass="box-value" />
</StackLayout>
<StackLayout StyleClass="box-row, box-row-switch">
<Label
Text="{u:I18n Capitalize}"
StyleClass="box-label-regular"
HorizontalOptions="StartAndExpand" />
<Switch
IsToggled="{Binding Capitalize}"
IsEnabled="{Binding EnforcedPolicyOptions.Capitalize,
Converter={StaticResource inverseBool}}"
StyleClass="box-value"
HorizontalOptions="End" />
</StackLayout>
<BoxView StyleClass="box-row-separator" />
<StackLayout StyleClass="box-row, box-row-switch">
<Label
Text="{u:I18n IncludeNumber}"
StyleClass="box-label-regular"
HorizontalOptions="StartAndExpand" />
<Switch
IsToggled="{Binding IncludeNumber}"
IsEnabled="{Binding EnforcedPolicyOptions.IncludeNumber,
Converter={StaticResource inverseBool}}"
StyleClass="box-value"
HorizontalOptions="End" />
</StackLayout>
</StackLayout> </StackLayout>
<BoxView StyleClass="box-row-separator" /> <StackLayout Spacing="0" Padding="0" IsVisible="{Binding IsPassword}">
<StackLayout StyleClass="box-row, box-row-switch"> <StackLayout StyleClass="box-row, box-row-slider">
<Label <Label
Text="{u:I18n IncludeNumber}" Text="{u:I18n Length}"
StyleClass="box-label-regular" StyleClass="box-label-regular"
HorizontalOptions="StartAndExpand" /> VerticalOptions="CenterAndExpand" />
<Switch <Label
IsToggled="{Binding IncludeNumber}" Text="{Binding Length}"
IsEnabled="{Binding EnforcedPolicyOptions.IncludeNumber, StyleClass="box-sub-label"
Converter={StaticResource inverseBool}}" VerticalOptions="CenterAndExpand"
StyleClass="box-value" HorizontalTextAlignment="End"
HorizontalOptions="End" /> WidthRequest="50" />
<controls:ExtendedSlider
DragCompleted="LengthSlider_DragCompleted"
Value="{Binding Length}"
AutomationProperties.HelpText="{Binding Length}"
StyleClass="box-value"
VerticalOptions="CenterAndExpand"
HorizontalOptions="FillAndExpand"
Maximum="128"
Minimum="5" />
</StackLayout>
<BoxView StyleClass="box-row-separator" />
<StackLayout StyleClass="box-row, box-row-switch">
<Label
Text="A-Z"
StyleClass="box-label-regular"
HorizontalOptions="StartAndExpand" />
<Switch
IsToggled="{Binding Uppercase}"
IsEnabled="{Binding EnforcedPolicyOptions.UseUppercase,
Converter={StaticResource inverseBool}}"
StyleClass="box-value"
HorizontalOptions="End" />
</StackLayout>
<BoxView StyleClass="box-row-separator" />
<StackLayout StyleClass="box-row, box-row-switch">
<Label
Text="a-z"
StyleClass="box-label-regular"
HorizontalOptions="StartAndExpand" />
<Switch
IsToggled="{Binding Lowercase}"
IsEnabled="{Binding EnforcedPolicyOptions.UseLowercase,
Converter={StaticResource inverseBool}}"
StyleClass="box-value"
HorizontalOptions="End" />
</StackLayout>
<BoxView StyleClass="box-row-separator" />
<StackLayout StyleClass="box-row, box-row-switch">
<Label
Text="0-9"
StyleClass="box-label-regular"
HorizontalOptions="StartAndExpand" />
<Switch
IsToggled="{Binding Number}"
IsEnabled="{Binding EnforcedPolicyOptions.UseNumbers,
Converter={StaticResource inverseBool}}"
StyleClass="box-value"
HorizontalOptions="End" />
</StackLayout>
<BoxView StyleClass="box-row-separator" />
<StackLayout StyleClass="box-row, box-row-switch">
<Label
Text="!@#$%^&amp;*"
StyleClass="box-label-regular"
HorizontalOptions="StartAndExpand" />
<Switch
IsToggled="{Binding Special}"
IsEnabled="{Binding EnforcedPolicyOptions.UseSpecial,
Converter={StaticResource inverseBool}}"
StyleClass="box-value"
HorizontalOptions="End" />
</StackLayout>
<BoxView StyleClass="box-row-separator" />
<StackLayout StyleClass="box-row, box-row-stepper">
<Label
Text="{u:I18n MinNumbers}"
StyleClass="box-label-regular"
VerticalOptions="FillAndExpand"
VerticalTextAlignment="Center" />
<Label
Text="{Binding MinNumber}"
StyleClass="box-sub-label"
HorizontalOptions="FillAndExpand"
HorizontalTextAlignment="End"
VerticalOptions="FillAndExpand"
VerticalTextAlignment="Center" />
<controls:ExtendedStepper
Value="{Binding MinNumber}"
Maximum="5"
Minimum="0"
Increment="1" />
</StackLayout>
<BoxView StyleClass="box-row-separator" />
<StackLayout StyleClass="box-row, box-row-stepper">
<Label
Text="{u:I18n MinSpecial}"
StyleClass="box-label-regular"
VerticalOptions="FillAndExpand"
VerticalTextAlignment="Center" />
<Label
Text="{Binding MinSpecial}"
StyleClass="box-sub-label"
HorizontalOptions="FillAndExpand"
HorizontalTextAlignment="End"
VerticalOptions="FillAndExpand"
VerticalTextAlignment="Center" />
<controls:ExtendedStepper
Value="{Binding MinSpecial}"
Maximum="5"
Minimum="0"
Increment="1" />
</StackLayout>
<BoxView StyleClass="box-row-separator" />
<StackLayout StyleClass="box-row, box-row-switch">
<Label
Text="{u:I18n AvoidAmbiguousCharacters}"
StyleClass="box-label-regular"
HorizontalOptions="StartAndExpand" />
<Switch
IsToggled="{Binding AvoidAmbiguous}"
StyleClass="box-value"
HorizontalOptions="End" />
</StackLayout>
<BoxView StyleClass="box-row-separator" />
</StackLayout> </StackLayout>
</StackLayout> </StackLayout>
<StackLayout Spacing="0" Padding="0" IsVisible="{Binding IsPassword}">
<StackLayout StyleClass="box-row, box-row-slider">
<Label
Text="{u:I18n Length}"
StyleClass="box-label-regular"
VerticalOptions="CenterAndExpand" />
<Label
Text="{Binding Length}"
StyleClass="box-sub-label"
WidthRequest="30"
VerticalOptions="CenterAndExpand"
HorizontalTextAlignment="End" />
<controls:ExtendedSlider
DragCompleted="LengthSlider_DragCompleted"
Value="{Binding Length}"
AutomationProperties.HelpText="{Binding Length}"
StyleClass="box-value"
VerticalOptions="CenterAndExpand"
HorizontalOptions="FillAndExpand"
Maximum="128"
Minimum="5" />
</StackLayout>
<BoxView StyleClass="box-row-separator" />
<StackLayout StyleClass="box-row, box-row-switch">
<Label
Text="A-Z"
StyleClass="box-label-regular"
HorizontalOptions="StartAndExpand" />
<Switch
IsToggled="{Binding Uppercase}"
IsEnabled="{Binding EnforcedPolicyOptions.UseUppercase,
Converter={StaticResource inverseBool}}"
StyleClass="box-value"
HorizontalOptions="End" />
</StackLayout>
<BoxView StyleClass="box-row-separator" />
<StackLayout StyleClass="box-row, box-row-switch">
<Label
Text="a-z"
StyleClass="box-label-regular"
HorizontalOptions="StartAndExpand" />
<Switch
IsToggled="{Binding Lowercase}"
IsEnabled="{Binding EnforcedPolicyOptions.UseLowercase,
Converter={StaticResource inverseBool}}"
StyleClass="box-value"
HorizontalOptions="End" />
</StackLayout>
<BoxView StyleClass="box-row-separator" />
<StackLayout StyleClass="box-row, box-row-switch">
<Label
Text="0-9"
StyleClass="box-label-regular"
HorizontalOptions="StartAndExpand" />
<Switch
IsToggled="{Binding Number}"
IsEnabled="{Binding EnforcedPolicyOptions.UseNumbers,
Converter={StaticResource inverseBool}}"
StyleClass="box-value"
HorizontalOptions="End" />
</StackLayout>
<BoxView StyleClass="box-row-separator" />
<StackLayout StyleClass="box-row, box-row-switch">
<Label
Text="!@#$%^&amp;*"
StyleClass="box-label-regular"
HorizontalOptions="StartAndExpand" />
<Switch
IsToggled="{Binding Special}"
IsEnabled="{Binding EnforcedPolicyOptions.UseSpecial,
Converter={StaticResource inverseBool}}"
StyleClass="box-value"
HorizontalOptions="End" />
</StackLayout>
<BoxView StyleClass="box-row-separator" />
<StackLayout StyleClass="box-row, box-row-stepper">
<Label
Text="{u:I18n MinNumbers}"
StyleClass="box-label-regular"
VerticalOptions="FillAndExpand"
VerticalTextAlignment="Center" />
<Label
Text="{Binding MinNumber}"
StyleClass="box-sub-label"
HorizontalOptions="FillAndExpand"
HorizontalTextAlignment="End"
VerticalOptions="FillAndExpand"
VerticalTextAlignment="Center" />
<controls:ExtendedStepper
Value="{Binding MinNumber}"
Maximum="5"
Minimum="0"
Increment="1" />
</StackLayout>
<BoxView StyleClass="box-row-separator" />
<StackLayout StyleClass="box-row, box-row-stepper">
<Label
Text="{u:I18n MinSpecial}"
StyleClass="box-label-regular"
VerticalOptions="FillAndExpand"
VerticalTextAlignment="Center" />
<Label
Text="{Binding MinSpecial}"
StyleClass="box-sub-label"
HorizontalOptions="FillAndExpand"
HorizontalTextAlignment="End"
VerticalOptions="FillAndExpand"
VerticalTextAlignment="Center" />
<controls:ExtendedStepper
Value="{Binding MinSpecial}"
Maximum="5"
Minimum="0"
Increment="1" />
</StackLayout>
<BoxView StyleClass="box-row-separator" />
<StackLayout StyleClass="box-row, box-row-switch">
<Label
Text="{u:I18n AvoidAmbiguousCharacters}"
StyleClass="box-label-regular"
HorizontalOptions="StartAndExpand" />
<Switch
IsToggled="{Binding AvoidAmbiguous}"
StyleClass="box-value"
HorizontalOptions="End" />
</StackLayout>
<BoxView StyleClass="box-row-separator" />
</StackLayout>
</StackLayout> </StackLayout>
</StackLayout> </ScrollView>
</ScrollView> </ContentView>
</pages:BaseContentPage> </pages:BaseContentPage>

View file

@ -363,7 +363,7 @@
<Setter Property="Orientation" <Setter Property="Orientation"
Value="Horizontal" /> Value="Horizontal" />
<Setter Property="Spacing" <Setter Property="Spacing"
Value="10" /> Value="5" />
</Style> </Style>
<Style TargetType="Button" <Style TargetType="Button"
ApplyToDerivedTypes="True" ApplyToDerivedTypes="True"