键盘在形式上与输入重叠

时间:2019-08-09 09:34:06

标签: android ionic4

在我的Android应用程序的每种形式中,键盘都会覆盖整个屏幕,而不会使其滚动。 如果我尝试手动滚动整个视图,则没有任何变化。 甚至将300px的假高添加到ion-conten,通过具有固定高度的div,滚动也会被锁定。 我尝试更改添加属性的AndroidManifest,但一无所获。我也尝试通过将属性scrollAssist设置为true来将配置对象传递给IonicModule.forRoot。

我不明白为什么我只有在Android应用中才有此错误。在iOS中,一切正常。 我注意到离子含量的--keyboard-offset由:host样式设置为0px。

<ion-row>
    <ion-col>
        <ion-icon (click)="back()" size="large" class="top-custom-navigation" name="arrow-back"></ion-icon>
    </ion-col>
</ion-row>


<ion-row>
    <ion-col size="12" padding-horizontal>

        <h1>{{'REGISTRATION.WHAT_EMAIL' | translate}}</h1>
        <form #form="ngForm" padding-vertical>

            <ion-label class="small bold uppercase">{{'COMMON.EMAIL' | translate}}</ion-label>
            <ion-input [(ngModel)]="mailExist" #mail="ngModel" name="mailExist" email required
                       mailExist></ion-input>
            <div *ngIf="mail.getError('mail') && (mail.dirty || mail.touched)">
                <ion-label class="error-txt">Mail già presente</ion-label>
            </div>
            <br/>
            <ion-label class="small bold uppercase">{{'COMMON.USERNAME' | translate}}</ion-label>
            <ion-input [(ngModel)]="username" #userName="ngModel" usernameExist name="username"
                       required></ion-input>
            <div *ngIf="userName.getError('username') && (userName.dirty || userName.touched)">
                <ion-label class="error-txt">Username già presente</ion-label>
            </div>

            <ion-row>
                <ion-col size="9">
                    <p class="small" [innerHTML]="'REGISTRATION.NEWSLETTER_FLAG' | translate"></p>
                </ion-col>
                <ion-col size="3" padding-vertical>
                    <app-switch (change)="onChangeNewsletterFlag($event)" style="margin-top:10px;"></app-switch>
                </ion-col>
            </ion-row>


        </form>

    </ion-col>
</ion-row>


<app-fab-button class="fixed-bottom-right"
                type="white"
                [active]="form.valid"
                (onClick)="next()"></app-fab-button>

1 个答案:

答案 0 :(得分:0)

在android中,存在不同的软输入模式。 看来您需要为屏幕应用ADJUST_RESIZE模式。

您可以了解以下方面的差异: Difference between adjustResize and adjustPan in android?

并且此链接可以帮助您设置此模式:

https://forum.ionicframework.com/t/change-android-keyboard-behaviors-for-the-whole-app/83610