Snackbar
Importante
Este artigo descreve funcionalidades e diretrizes que estão em versão prévia pública e podem ser modificadas substancialmente antes de passarem para a disponibilidade geral. A Microsoft não faz nenhuma garantia, expressa ou implícita, com relação às informações fornecidas aqui.
Visão geral
O SnackbarContainer
é um FrameLayout personalizado com um CoordinatorLayout como um filho que pode ser usado como um suporte para o Snackbar.
Esse contêiner tem reconhecimento de dobra e pode ser usado em dispositivos dobráveis e também em dispositivos regulares. A mensagem será exibida sempre na parte inferior da tela com 25 pixels fixos nas bordas da tela.
Usando as informações do WindowManager, esse contêiner move o filho CoordinatorLayout para onde o desenvolvedor precisa, seja na primeira tela, na segunda tela ou na tela inteira. Para outros cenários, você pode usar o Snackbar
diretamente.
Como importar a biblioteca para seu projeto
Verifique se o repositório
mavenCentral()
está no arquivo build.gradle de nível superior:allprojects { repositories { google() mavenCentral() } }
Adicione esta dependência ao arquivo de nível de módulo build.gradle:
dependencies { implementation "com.microsoft.device.dualscreen:snackbar:1.0.0-alpha2" }
Se o projeto for criado usando Java, você precisará adicionar uma dependência kotlin-stdlib ao arquivo build.gradle no nível do módulo (isso ocorre porque a biblioteca Snackbar foi criada usando o Kotlin).
dependencies { implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version" }
Como mostrar um Snackbar de tela dupla
Depois que o pacote for adicionado, siga estas etapas para implementar o Snackbar de tela dupla:
Adicione o
SnackbarContainer
na parte inferior do modo de exibição raizActivity
ouFragment
:<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="match_parent" <com.microsoft.device.dualscreen.snackbar.SnackbarContainer android:id="@+id/snackbar_container" android:layout_width="match_parent" android:layout_height="wrap_content" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" /> </androidx.constraintlayout.widget.ConstraintLayout>
Usando uma instância do
SnackbarContainer
, você pode exibir oSnackbar
usando este snippet de código. O parâmetrosnackbarContainer
é uma instância deSnackbarContainer
, o parâmetromessage
é o texto a ser exibido eLENGTH_LONG
é a duração de exibição. A funçãoshow
é uma função de extensão usada para exibir oSnackbar
dentro doSnackbarContainer
determinado na posição especificada.
SnackbarPosition
Os valores possíveis para o parâmetro position
são:
SnackbarPosition.START
SnackbarPosition.END
SnackbarPosition.BOTH
Eles são explicados em mais detalhes a seguir.
SnackbarPosition.START
O Snackbar será exibido na parte inferior da primeira área de exibição:
SnackbarPosition.END
O Snackbar será exibido na segunda área de exibição:
SnackbarPosition.BOTH
O Snackbar será exibido na parte inferior de toda a área de exibição:
Amostra
Você pode dar uma olhada no código do aplicativo de exemplo do snackbar para ver todos esses comportamentos.