No Android, cada View
subclasse tem um setVisibility()
método que permite modificar a visibilidade de um View
objeto
Existem 3 opções para definir a visibilidade:
- Visível: torna o
View
visível dentro do layout - Invisível: oculta o
View
, mas deixa uma lacuna que é equivalente ao que oView
ocuparia se fosse visível - Desaparecido: oculta o
View
e o remove inteiramente do layout. É como se fosseheight
ewidth
fosse0dp
Existe algo equivalente ao acima para Widgets no Flutter?
Para uma referência rápida: https://developer.android.com/reference/android/view/View.html#attr_android:visibility
fonte
IgnorePointer
também, caso contrário, o usuário ainda poderá acioná-lo.Invisível : o widget ocupa espaço físico na tela, mas não fica visível para o usuário.
Desaparecido : o widget não ocupa nenhum espaço físico e desapareceu completamente.
Exemplo invisível
Exemplo ido
Alternativamente, você pode usar a
if
condição para invisível e desaparecido.fonte
Para colaborar com a questão e mostrar um exemplo de substituição por um vazio
Container()
.Aqui está o exemplo abaixo:
fonte
Flutter agora contém um widget de visibilidade que você deve usar para mostrar / ocultar widgets. O widget também pode ser usado para alternar entre 2 widgets, alterando a substituição.
Este widget pode atingir qualquer um dos estados visível, invisível, desaparecido e muito mais.
fonte
Experimente o
Offstage
widgetse o atributo
offstage:true
não ocupar o espaço físico e invisível,se atributo
offstage:false
vai ocupar o espaço físico e visívelfonte
fonte
No flutter 1.5 e no Dart 2.3 para a visibilidade perdida, você pode definir a visibilidade usando uma instrução if dentro da coleção sem ter que fazer uso de contêineres.
por exemplo
fonte
Você pode encapsular qualquer widget em seu código com um novo widget chamado (Visibilidade), isto é, a partir da lâmpada amarela no lado esquerdo do widget que você deseja que fique invisível
exemplo: digamos que você queira tornar uma linha invisível:
O filho do widget recém-criado (widget de visibilidade) é o widget que você deseja que fique invisível
Espero que ajude alguém no futuro
fonte
Para iniciantes, tente isso também.
fonte
Atualizar
Flutter agora tem um widget de visibilidade . Para implementar sua própria solução, comece com o código abaixo.
Faça você mesmo um widget.
aparecer esconder
mostrar / remover
A propósito, alguém tem um nome melhor para os widgets acima?
Mais leituras
fonte
Como já destacado por @CopsOnRoad, você pode usar o widget Visibility. Mas, se você quiser manter seu estado, por exemplo, se você quiser construir um viewpager e fazer um certo botão aparecer e desaparecer com base na página, você pode fazer desta forma
fonte
Talvez você possa usar a função Navigator assim
Navigator.of(context).pop();
fonte
Uma solução é definir esta propriedade de cor do widget como Colors.transparent. Por exemplo:
fonte
IconButton
ainda recebe cliques e ocupa espaço. Edite ou exclua esta resposta antes que as pessoas votem contra ela.