Après la mise à jour vers Navigation 2.2.0-beta01 de la version précédente, lint donne un avertissement concernant le remplacement de la <fragment>
balise par FragmentContainerView
.
Cependant, le remplacement de la balise à elle seule semble empêcher le graphique de navigation d'être gonflé.
Selon 2.2.0-alpha01 , FragmentContainerView
est utilisé en interne. Faut-il ignorer l'avertissement de peluches?
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
presqueSane
la source
la source
FragmentContainerView
?FragmentContainerView
et dans toute autre disposition de conteneur. Les différences sont décrites dans la documentation FCV liée ci-dessus. Fondamentalement, FCV est censé rendre les transitions plus efficaces que vous ne le pensez. Ou, Jetpack Navigation dépend de fragments. Si les fragments sont cassés, vous obtenez une nouvelle bibliothèque de fragments fixes ou attendez la nouvelle version de Navigation qui dépend des nouveaux fragments fixes.Réponses:
Important! Il existe des problèmes connus avec différentes versions de
FragmentContainerView
. Consultez le journal des modifications avant de l'utiliser. Lisez les correctifs de bogues et utilisez une version récente de la bibliothèque.Pour l'instant, vous devez également déclarer la dépendance au fragment 1.2.0-beta02 car il inclut un correctif pour ce cas d'utilisation.
Source: https://developer.android.com/jetpack/androidx/releases/fragment#1.2.0-beta02
la source
Le NavigationBasicSample a été mis à jour vers 2.2.0-alpha01 mais utilise toujours la
fragment
balise. Le NavigationAdvancedSample montre l'utilisation de laFragmentContainerView
, mais le graphique de navigation est gonflé dans le code (ils ont plusieurs graphiques différents) et le fragment d'hôte correspondant est ajouté auFragmentContainerView
. Je dirais donc qu'en ce moment, nous devrions ignorer l'avertissement si nous voulons une inflation automatique.la source
Fragment
dépendance s'occupe de l'avertissement de peluches.