Forum Xamarin.Forms
We are excited to announce that the Xamarin Forums are moving to the new Microsoft Q&A experience. Q&A is the home for technical questions and answers at across all products at Microsoft now including Xamarin!

We encourage you to head over to Microsoft Q&A for .NET for posting new questions and get involved today.

[Xamarin.Forms 2.5.0.91635][Android] Soft Keyboard overlaps the last entry at bottom of page.

E75E75 NLMember ✭✭

[Xamarin.Forms 2.5.0.91635] I have a page which has a listview which contains an input entry and a label. My problem is that in Android, on tapping the first or second entry, the Keyboard appears. I want it to scroll the page down to select the last entry, but i cannot see (or focus) the last entry, because it's overlapped by soft keyboard. I cannot scroll to the last entry, because the soft keyboard hides the last entr(ies).

I searched on the internet and tried a lot but nothing works.

Solutions that didn't work:
https://gist.github.com/jimmgarrido/e36033b26f01e8da091fd321d41d991a
xamarinformscorner.blogspot.nl/2016/06/soft-keyboard-hiding-entries-fields-in.html
https://forums.xamarin.com/discussion/62668/appcompat-does-not-resize-screen-with-keyboard

XAML Code:

<ContentPage.Content>
        <ScrollView>
                <StackLayout x:Name="StackLayoutButtons" HorizontalOptions="Center" Orientation="Horizontal">
                    <Button x:Name="PreviousButton" WidthRequest="35" FontSize="23" FontAttributes="Bold" Clicked="PreviousButton_OnClicked"></Button>
                    <Button x:Name="DatePickerButton" FontSize="20" Clicked="DatePickerButton_OnClicked"></Button>
                    <DatePicker x:Name="DatePicker" Format="dddd d MMMM yyyy" VerticalOptions="Center" HorizontalOptions="FillAndExpand" IsVisible="False" IsEnabled="False"/>
                    <Button x:Name="NextButton" WidthRequest="35" FontSize="23" FontAttributes="Bold" Clicked="NextButton_OnClicked"></Button>
                    <Button x:Name="LastButton" WidthRequest="50" FontSize="23" FontAttributes="Bold" Clicked="LastButton_OnClicked"></Button>
                </StackLayout>

                <ListView x:Name="ListViewItemPage" ItemTapped="ListView_OnItemTapped">
                    <ListView.ItemTemplate>
                        <DataTemplate>
                            <ViewCell>
                                <RelativeLayout x:Name="RelativeLayout" >
                                    <Label x:Name="DescriptionLabel" Text="{Binding Description}"  RelativeLayout.YConstraint="{ConstraintExpression Type=RelativeToParent, Property=Y, Factor=0, Constant=15}" RelativeLayout.XConstraint="{ConstraintExpression Type=RelativeToParent, Property=X, Factor=0, Constant=15}" />
                                    <Entry x:Name="Entry" WidthRequest="85" Keyboard="Text" HorizontalTextAlignment="Start" FontSize="19" HorizontalOptions="Center" VerticalOptions="Center" Text="{Binding Value, Mode=TwoWay, Converter={StaticResource FloatValueConverter}}" Unfocused="ValueEntry_OnUnfocused"
                                           RelativeLayout.YConstraint="{ConstraintExpression Type=RelativeToParent, Property=Y, Factor=0, Constant=10}" RelativeLayout.XConstraint="{ConstraintExpression Type=RelativeToParent, Property=Width, Factor=1, Constant={StaticResource ConstantMultiPlatform}}" >
                                        <Entry.HeightRequest>
                                            <OnPlatform x:TypeArguments="x:Double">
                                                <On Platform="iOS" Value="28"></On>
                                                <On Platform="Android" Value="42"></On>
                                                <On Platform="UWP" Value="32"></On>
                                            </OnPlatform>
                                        </Entry.HeightRequest>
                                    </Entry>
                                </RelativeLayout>
                            </ViewCell>
                        </DataTemplate>
                    </ListView.ItemTemplate>
                </ListView>
            </StackLayout>
        </ScrollView>
    </ContentPage.Content>

See screenshots in the attachment

Answers

Sign In or Register to comment.