wake-up-neo.com

problem mit der Navigationsleiste (Layoutvorschau wird nicht angezeigt)

Ich habe die App erstellt und möchte das Menü der Navigationsleiste verwenden, aber als ich versuchte, in der Navigationsleiste xml zu bearbeiten, ist das Problem "Warten auf Build zu Ende ..." aufgetreten, und ich sehe kein Layout auf der linken Seite von Android Studio

sich beziehen

activity_main_drawer

layout_preview wurde hier nicht gefunden

layout_preview

Ich habe diese Lösung ausprobiert, um dieses Problem zu lösen, funktioniert aber leider nicht für mich

das ist activity_main_drawer.xml

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:Android="http://schemas.Android.com/apk/res/Android"
    xmlns:tools="http://schemas.Android.com/tools"
    tools:showIn="navigation_view">

    <group Android:checkableBehavior="single">
        <item
            Android:id="@+id/articles"
            Android:icon="@drawable/ic_menu_camera"
            Android:title="@string/articles" />
        <item
            Android:id="@+id/windows"
            Android:icon="@drawable/ic_menu_gallery"
            Android:title="@string/windows" />
        <item
            Android:id="@+id/linux"
            Android:icon="@drawable/ic_menu_slideshow"
            Android:title="@string/linux" />
        <item
            Android:id="@+id/miscellaneous_devices"
            Android:icon="@drawable/ic_menu_manage"
            Android:title="@string/miscellaneous_devices" />

        <item
            Android:id="@+id/information_security"
            Android:icon="@drawable/ic_menu_manage"
            Android:title="@string/information_security" />

        <item
            Android:id="@+id/facebook"
            Android:icon="@drawable/ic_menu_manage"
            Android:title="@string/facebook" />
    </group>

    <item Android:title="Communicate">
        <menu>
            <item
                Android:id="@+id/nav_share"
                Android:icon="@drawable/ic_menu_share"
                Android:title="Share" />
            <item
                Android:id="@+id/nav_send"
                Android:icon="@drawable/ic_menu_send"
                Android:title="Send" />
        </menu>
    </item>

</menu>

activity_main

    package www.pro.cs_is.com.procsis;

import Android.os.Bundle;
import Android.support.design.widget.FloatingActionButton;
import Android.support.design.widget.Snackbar;
import Android.view.View;
import Android.support.design.widget.NavigationView;
import Android.support.v4.view.GravityCompat;
import Android.support.v4.widget.DrawerLayout;
import Android.support.v7.app.ActionBarDrawerToggle;
import Android.support.v7.app.AppCompatActivity;
import Android.support.v7.widget.Toolbar;
import Android.view.Menu;
import Android.view.MenuItem;

public class MainActivity extends AppCompatActivity
        implements NavigationView.OnNavigationItemSelectedListener {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);



        DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
        ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(
                this, drawer, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close);
        drawer.addDrawerListener(toggle);
        toggle.syncState();

        NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view);
        navigationView.setNavigationItemSelectedListener(this);
    }

    @Override
    public void onBackPressed() {
        DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
        if (drawer.isDrawerOpen(GravityCompat.START)) {
            drawer.closeDrawer(GravityCompat.START);
        } else {
            super.onBackPressed();
        }
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
        int id = item.getItemId();

        //noinspection SimplifiableIfStatement
        if (id == R.id.action_settings) {
            return true;
        }

        return super.onOptionsItemSelected(item);
    }

    @SuppressWarnings("StatementWithEmptyBody")
    @Override
    public boolean onNavigationItemSelected(MenuItem item) {
        // Handle navigation view item clicks here.
        int id = item.getItemId();

        if (id == R.id.miscellaneous_devices) {
            // Handle the camera action
        } else if (id == R.id.articles) {

        } else if (id == R.id.windows) {

        } else if (id == R.id.linux) {

        } else if (id == R.id.facebook) {

        } else if (id == R.id.information_security) {

        }

        DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
        drawer.closeDrawer(GravityCompat.START);
        return true;
    }
}

Update 1: Nach vielen Versuchen scheint es ein allgemeines Problem nach dem Update IDE auf Version 3.1.2 zu sein. Bis jetzt gibt es nur eine -Lösung , die @mtak vorschlug, obwohl sie dem Hauptmenü ähnelt Optionen in der Vorschau

11
Dr Mido

Entfernen Sie die Leitung 

tools:showIn="navigation_view"

von activity_main_drawer.xml und erstellen Sie neu. Dies löste dasselbe Problem für mich ... Ich weiß nicht warum !!!

Problem gelöst in AS 3.1.3 (8. Juni 2018) und wieder aufgetaucht (16. Juni 2018) !!!

Neuer temporärer Workaround:

  1. Schneiden Sie die Zeile tools:showIn="navigation_view" aus der Menüdatei aus.
  2. Schließen Sie die Menüdatei. 
  3. Öffnen Sie es erneut und fügen Sie die Zeile ein. 
  4. Gehen Sie zum Design und sehen Sie das Menü so, wie es sein sollte.

Wenn Sie die Menüdatei schließen und erneut öffnen, tritt das Problem wieder auf..... Keine Vorschau in Text.

15
user8959091

Sie können folgendes versuchen:

  • Führen Sie Build aus und versuchen Sie, die Vorschau erneut anzuzeigen 

  • Schließen Sie das aktuelle Layout, öffnen Sie ein anderes und öffnen Sie es erneut

4
user9025311

Da Sie AppCompatActivity erweitern, müssen Sie sicherstellen, dass in Ihrem styles.xml Ihr AppTheme ein Nachkomme von AppCompat ist

    <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <!-- Customize your theme here. -->
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>
     </style>

Das hat bei mir geklappt, obwohl die akzeptierte Antwort nicht so hilfreich war.

1
Myoch

Ich habe die Lösung gefunden. Entfernen Sie diese beiden Werkzeugzeilen und schließen/öffnen Sie sie erneut:

  • xmlns: tools = "http://schemas.Android.com/tools"

  • werkzeuge: showIn = "navigation_view"

0
Trí Phạm