web-dev-qa-db-fra.com

Aperçu de navigation non disponible dans Android Aperçu de Studio 3.2

Je suis intéressé à essayer le graphique de navigation montré dans le Android Studio. Mais j'ai eu l'aperçu indisponible après avoir importé le exemple google

J'ai utilisé le Android Studio 3.2 Preview Canary 16

enter image description here

<navigation xmlns:Android="http://schemas.Android.com/apk/res/Android"
    xmlns:app="http://schemas.Android.com/apk/res-auto"
    app:startDestination="@+id/launcher_home">

    <fragment
        Android:id="@+id/launcher_home"
        Android:name="com.Android.samples.Arch.componentsbasicsample.StartFragment"
        Android:label="Home">

        <action
            Android:id="@+id/end_action"
            app:destination="@id/end_dest" />

    </fragment>

    <fragment
        Android:id="@+id/end_dest"
        Android:name="com.Android.samples.Arch.componentsbasicsample.EndFragment"
        Android:label="End"
        >

    </fragment>
</navigation>

Mise à jour du 06/10/2018:

Même moi, je reconstruis le projet, cela ne fonctionne pas. Mais si un nouvel écran est ajouté, il montre le nouveau en mode aperçu

enter image description here

22
Long Ranger

Vous devez cliquer sur l'onglet "texte" dans l'éditeur de navigation (fichier xml du graphique de navigation), et ajouter:

tools:layout="@layout/layout_name"

à l'intérieur de l'élément de destination.

Devrait être quelque chose comme ça:

<fragment
    Android:id="@+id/someFragment"
    Android:name="com.freesoulapps.navigationtest.fragments.SomeFragment"
    Android:label="Some Fragment"
    tools:layout="@layout/layout_name">
</fragment>
51
Alex

il existe une autre façon d'avoir l'aperçu dans le XML de navigation. Allez d'abord dans votre fragment xml ajouter

tools:context="com.packagename.nameFragment"

exemple for my frag layout

Et c'est tout

si vous allez dans votre fichier de navigation, vous pouvez voir l'aperçu dans la sélection et l'éditeur de navigation

enter image description hereenter image description here

Et si vous regardez dans le code, l'écriture automatique

tools:layout="@layout/layout_name"

Pour moi, c'est plus logique d'avoir l'aperçu avant d'ajouter le fragment dans l'éditeur de navigation. Il peut y avoir une méthode pour ajouter automatiquement les outils: contexte dans la mise en page

La saisie semi-automatique n'est pas suggérée pour les outils: le fragment de contexte ne suggère que les outils: l'hôte d'activité de contexte, vous devez donc écrire le nom du fragment ... si quelqu'un a une astuce pour cela

en savoir plus sur les outils: contexte: entrez la description du lien ici

2
Williams OuiOui