Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Keyboard prevents user from accessing bottom of page #13380

Closed
williambuchanan2 opened this issue Feb 16, 2023 · 1 comment
Closed

Keyboard prevents user from accessing bottom of page #13380

williambuchanan2 opened this issue Feb 16, 2023 · 1 comment
Labels
area-keyboard Keyboard, soft keyboard p/0 Work that we can't release without platform/android 🤖 platform/iOS 🍎 t/bug Something isn't working

Comments

@williambuchanan2
Copy link

Description

When the keyboard is showing the user is unable to access the area of the page which is behind the keyboard.

For example, a page containing 10 Entry fields stacked, with a Submit button at the bottom - the user is unable to access the lower fields and the button because the keyboard is in the way and the page doesn't scroll enough to bring them into view.

The only way it is possible to fill out these fields is for the user to know that they need to minimise the keyboard each time they want to move to the next field.

Expectation is that the page scrolls to allow access to the full page when the keyboard is showing.

Steps to Reproduce

Add the below code to a page and try to access the bottom fields:

<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" x:Class="PDS.App.RedSix.Views.DomTestPage" Title="DomTestPage"
             NavigationPage.HasNavigationBar="False" Shell.FlyoutBehavior="Disabled">
    <ScrollView >
        <VerticalStackLayout VerticalOptions="End">
            <Label  HorizontalOptions="Center"  Text="Add Your Team"  />
            <Label HorizontalOptions="Center" Text="Add your three emergency contacts." Margin="10"/>
            <Label  HorizontalOptions="Start"  Text="Contact 1" Margin="10"/>
            <Grid ColumnDefinitions="55,*" RowDefinitions="*" Margin="10">
                <AbsoluteLayout Grid.Row="0" Grid.Column="0">
                    <Ellipse HorizontalOptions="Start" VerticalOptions="Start" WidthRequest="45" HeightRequest="45" Margin="0, 10" StrokeThickness="2"/>
                    <Label Text="1" WidthRequest="45" HeightRequest="45" Margin="0, 10" HorizontalTextAlignment="Center"
                        VerticalTextAlignment="Center" TextColor="White"/>
                </AbsoluteLayout>
                <StackLayout Grid.Row="0" Grid.Column="1">
                    <Entry Text="{Binding Contact1Name}"  />
                    <Entry Text="{Binding Contact1Mobile}"  />
                </StackLayout>
            </Grid>
            <Label HorizontalOptions="Start"  Text="Contact 2" Margin="10"/>
            <Grid   Padding="0">
                <Grid.RowDefinitions>
                    <RowDefinition Height="*" />
                </Grid.RowDefinitions>
                <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="55" />
                    <ColumnDefinition Width="*" />
                </Grid.ColumnDefinitions>
                <AbsoluteLayout Grid.Row="0" Grid.Column="0">
                    <Ellipse HorizontalOptions="Start" VerticalOptions="Start" WidthRequest="45" HeightRequest="45"
                        Margin="0, 10" StrokeThickness="2"/>
                    <Label Text="2" WidthRequest="45" HeightRequest="45" Margin="0, 10" HorizontalTextAlignment="Center"
                        VerticalTextAlignment="Center" TextColor="LightGray"/>
                </AbsoluteLayout>
                <StackLayout Grid.Row="0" Grid.Column="1">
                    <Entry Text="{Binding Contact2Name}"  />
                    <Entry Text="{Binding Contact2Mobile}"  />
                </StackLayout>
            </Grid>
            <Label  HorizontalOptions="Start"   Text="Contact 3" Margin="10"/>
            <Grid Padding="0">
                <Grid.RowDefinitions>
                    <RowDefinition Height="*" />
                </Grid.RowDefinitions>
                <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="55" />
                    <ColumnDefinition Width="*" />
                </Grid.ColumnDefinitions>
                <AbsoluteLayout Grid.Row="0" Grid.Column="0">
                    <Ellipse HorizontalOptions="Start" VerticalOptions="Start" WidthRequest="45" HeightRequest="45"
                        Margin="0, 10" StrokeThickness="2"/>
                    <Label Text="3" WidthRequest="45" HeightRequest="45" Margin="0, 10"
                        HorizontalTextAlignment="Center" VerticalTextAlignment="Center" TextColor="LightGray"/>
                </AbsoluteLayout>
                <StackLayout Grid.Row="0" Grid.Column="1">
                    <Entry Text="{Binding Contact3Name}" />
                    <Entry Text="{Binding Contact3Mobile}" />
                </StackLayout>
            </Grid>
            <Button  VerticalOptions="End" Margin="0, 20" HeightRequest="50" Text="Continue" 
                Command="{Binding NextButtonPressedCommand}"/>
        </VerticalStackLayout >
    </ScrollView>
</ContentPage>

Link to public reproduction project repository

?

Version with bug

7.0 (current)

Last version that worked well

Unknown/Other

Affected platforms

iOS, Android

Affected platform versions

Android 11 - 13, iOS 16

Did you find any workaround?

Add a transparent frame to the bottom of the page which is the same height as the keyboard. Not great but it works.

Relevant log output

No response

@williambuchanan2 williambuchanan2 added the t/bug Something isn't working label Feb 16, 2023
@jsuarezruiz jsuarezruiz added the area-keyboard Keyboard, soft keyboard label Feb 16, 2023
@PureWeen
Copy link
Member

Duplicate of #4792

@PureWeen PureWeen marked this as a duplicate of #4792 Feb 16, 2023
@PureWeen PureWeen closed this as not planned Won't fix, can't repro, duplicate, stale Feb 16, 2023
@samhouts samhouts added the p/0 Work that we can't release without label Feb 16, 2023
@ghost ghost locked as resolved and limited conversation to collaborators Mar 19, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
area-keyboard Keyboard, soft keyboard p/0 Work that we can't release without platform/android 🤖 platform/iOS 🍎 t/bug Something isn't working
Projects
None yet
Development

No branches or pull requests

4 participants