#angular #cordova #ionic-framework #responsive-design #ionic4
#angular #кордова #ionic-framework #адаптивный дизайн #ionic4
Вопрос:
Я включаю в ion-toolbar следующий код, но, к сожалению, кнопки не централизованы. Я попытался найти другой способ и, по сути, я добавил ion-buttons внутри тегов ion-row / ion-col, как показано ниже, и теперь кнопки централизованы, но при изменении размера на основе Galaxy S5 или iPhone 5s у меня возникли проблемы с адаптивным поведением.
Я использую Ionic 4.
=> ionic info
Ionic:
ionic (Ionic CLI) : 4.12.0 (/usr/local/lib/node_modules/ionic)
Ionic Framework : @ionic/angular 4.1.2
@angular-devkit/build-angular : 0.13.6
@angular-devkit/schematics : 7.2.4
@angular/cli : 7.3.6
@ionic/angular-toolkit : 1.4.1
Cordova:
cordova (Cordova CLI) : 9.0.0
Cordova Platforms : android 8.0.0, browser 6.0.0, ios 5.0.0
Cordova Plugins : cordova-plugin-ionic-keyboard 2.1.3, cordova-plugin-ionic-webview 3.1.2, (and 6 other plugins)
System:
ios-deploy : 1.9.4
ios-sim : 8.0.0
NodeJS : v8.12.0 (/usr/local/bin/node)
npm : 6.9.0
OS : macOS Mojave
Xcode : Xcode 10.2 Build version 10E125
Код:
<ion-header>
<ion-toolbar>
<ion-title align="center" [title]="quota">{{quota}} pontos</ion-title>
</ion-toolbar>
<ion-toolbar>
<ion-item class="calendar">
<ion-row>
<ion-col align-items-center="true">
<ion-buttons>
<ion-button class="btncalendar" (click)="previous()">
Anterior
<ion-icon slot="start" name="rewind"></ion-icon>
</ion-button>
<ion-button class="btncalendar">
<ion-icon slot="end" name="calendar"></ion-icon>
<ion-datetime #myPicker display-format="DD/MM/YYYY" [value]="screenDateTime"
(ionChange)="updateDate(myPicker.value)" [(ngModel)]="value"></ion-datetime>
</ion-button>
<ion-button class="btncalendar" (click)="next()">
Próximo
<ion-icon slot="end" name="fastforward"></ion-icon>
</ion-button>
</ion-buttons>
</ion-col>
</ion-row>
</ion-item>
Я попытался включить слот, как описано в приведенном ниже коде, но кнопки исчезли.
<ion-header>
<ion-toolbar>
<ion-title align="center" [title]="quota">{{quota}} pontos</ion-title>
</ion-toolbar>
<ion-toolbar>
<ion-item class="calendar">
<ion-row>
<ion-col align-items-center="true">
<ion-buttons slot="primary">
<ion-button class="btncalendar" (click)="previous()">
Anterior
<ion-icon slot="start" name="rewind"></ion-icon>
</ion-button>
<ion-button class="btncalendar">
<ion-icon slot="end" name="calendar"></ion-icon>
<ion-datetime #myPicker display-format="DD/MM/YYYY" [value]="screenDateTime"
(ionChange)="updateDate(myPicker.value)" [(ngModel)]="value"></ion-datetime>
</ion-button>
<ion-button class="btncalendar" (click)="next()">
Próximo
<ion-icon slot="end" name="fastforward"></ion-icon>
</ion-button>
</ion-buttons>
</ion-col>
</ion-row>
</ion-item>
<ion-item class="header">
<ion-grid>
Я попробовал слот primary, secondary, end и start.
Я просто хочу централизовать кнопки и обеспечить правильное реагирование при использовании других небольших устройств, таких как Sansing S5 или iPhone 5S.
Ответ №1:
justify-content-center
будет горизонтально центрировать ваши кнопки.
<ion-buttons justify-content-center>
<ion-button class="btncalendar">
Anterior
<ion-icon slot="start" name="rewind"></ion-icon>
</ion-button>
<ion-button class="btncalendar">
<ion-icon slot="end" name="calendar"></ion-icon>
<ion-datetime #myPicker display-format="DD/MM/YYYY"></ion-datetime>
</ion-button>
<ion-button class="btncalendar">
Próximo
<ion-icon slot="end" name="fastforward"></ion-icon>
</ion-button>
</ion-buttons>