Ajustando elementos quando o teclado é exibido no Xamarin Forms

IControls , Xamarin , XamarinForms

Por: Charlin Agramonte

Traduzido por: Adriano D’lucca

Fonte: xamgirl.com [Repost Traduzido]

 

Ao desenvolver formulários, uma boa prática é que, quando o teclado é mostrado, não devemos ocultar as entradas de texto por trás dele. Em vez disso, a entrada de texto deve se levantar durante a digitação. Isso é muito fácil de fazer no Xamarin Forms, apenas adicionando a entrada dentro do ScrollView e é isso.

Mas o que acontece se você também quiser ajustar mais controles do que apenas as entradas, como imagens, botões, etc. Este é um caso de uso comum quando estamos desenvolvendo uma tela de Login, se queremos mostrar sempre o botão Login mesmo quando o teclado mostra acima.

Vamos fazer isso passo a passo.

Fazer isso é um pouco diferente, dependendo da plataforma. No android você só precisa adicionar seus elementos dentro de um Grid e usar o UseWindowSoftInputModeAdjust Resize específico da plataforma no Application XAML. No iOS, temos que criar um renderizador personalizado para fazer o redimensionamento.

Como queremos que uma solução funcione para ambos, no projeto de exemplo, vamos começar a criar uma classe de grade personalizada (embora só a usemos para iOS). 

1-Crie uma nova classe que se estenda de Grid

 

2-Use a grade personalizada e adicione seus elementos dentro dela 

 

3-Adicionar plataforma específica UseWindowSoftInputModeAdjust com valor de redimensionamento no XAML aplicativo

(Isso só é necessário para o Android)

 

4-Crie um renderizador personalizado no seu projeto iOS 

 

E isso é tudo. Verifique o código fonte completo aqui.

Resultado

Codificação feliz!

 

 

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *