Después de actualizar a Navigation 2.2.0-beta01 desde la versión anterior, lint advierte sobre el reemplazo de la <fragment>
etiqueta FragmentContainerView
.
Sin embargo, reemplazar solo la etiqueta parece evitar que se infle el gráfico de navegación.
De acuerdo con 2.2.0-alpha01 , FragmentContainerView
se utiliza internamente. ¿Deberíamos ignorar la advertencia de pelusa?
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
casi sano
fuente
fuente
FragmentContainerView
?FragmentContainerView
y en cualquier otro diseño de contenedor. Las diferencias se describen en la documentación del FCV vinculada anteriormente. Básicamente, se supone que FCV hace que las transiciones funcionen más como es de esperar. O bien, Jetpack Navigation depende de fragmentos. Si los fragmentos están rotos, obtienes una nueva biblioteca de fragmentos fijos o esperas una nueva versión de Navigation que depende de nuevos fragmentos fijos.Respuestas:
¡Importante! Hay problemas conocidos con diferentes versiones de
FragmentContainerView
. Vea el registro de cambios antes de usar. Lea las correcciones de errores y use una versión reciente de la biblioteca.Por ahora, también debe declarar dependencia en Fragment 1.2.0-beta02 ya que incluye una solución para este caso de uso.
Fuente: https://developer.android.com/jetpack/androidx/releases/fragment#1.2.0-beta02
fuente
El NavigationBasicSample ha sido actualizado a la 2.2.0-alpha01 pero todavía está utilizando la
fragment
etiqueta. El NavigationAdvancedSample muestra el uso de laFragmentContainerView
, pero el gráfico nav se infla en el código (tienen varios gráficos diferentes) y el fragmento de host correspondiente se añade alFragmentContainerView
. Entonces, diría que en este momento deberíamos ignorar la advertencia si queremos una inflación automática.fuente
Fragment
dependencia se encarga de la advertencia de pelusa.