Após atualizar para o Navigation 2.2.0-beta01 da versão anterior, o lint emite um aviso sobre a substituição da <fragment>
tag FragmentContainerView
.
No entanto, substituir apenas a marca parece impedir que o gráfico de navegação seja inflado.
De acordo com 2.2.0-alpha01 , FragmentContainerView
é usado internamente. Devemos ignorar o aviso de fiapos?
activity_main.xml
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<!-- Lint warning: "Replace the <fragment> tag with FragmentContainerView. -->
<fragment
android:id="@+id/nav_host_main"
android:name="androidx.navigation.fragment.NavHostFragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:defaultNavHost="true"
app:navGraph="@navigation/nav_graph_main"/>
<!-- other elements -->
</androidx.constraintlayout.widget.ConstraintLayout>
android
android-layout
almostSane
fonte
fonte
FragmentContainerView
?FragmentContainerView
e em qualquer outro layout de contêiner. As diferenças estão descritas na documentação do FCV vinculada acima. Basicamente, o FCV deve fazer com que as transições funcionem mais como você esperaria. Ou, o Jetpack Navigation depende de fragmentos. Se os fragmentos estiverem quebrados, você obterá uma nova biblioteca de fragmentos corrigida ou aguarde uma nova versão do Navigation, que depende de novos fragmentos corrigidos.Respostas:
Importante! Existem problemas conhecidos com diferentes versões do
FragmentContainerView
. Veja o changelog antes de usar. Leia as correções de erros e use uma versão recente da biblioteca.Por enquanto, você também deve declarar dependência do Fragmento 1.2.0-beta02, pois inclui uma correção para este caso de uso.
Fonte: https://developer.android.com/jetpack/androidx/releases/fragment#1.2.0-beta02
fonte
O NavigationBasicSample foi atualizado para 2.2.0-alpha01, mas ainda está usando a
fragment
tag. O NavigationAdvancedSample mostra o uso deFragmentContainerView
, mas o gráfico de navegação é inflado no código (eles têm vários gráficos diferentes) e o fragmento de host correspondente é adicionado aoFragmentContainerView
. Então, eu diria que, neste momento, devemos ignorar o aviso se quisermos inflação automática.fonte
Fragment
dependência mais recente cuida do aviso de fiapos.