Навигация по боковому меню не работает в Android [дубликат]

Finnnn, вы правы.

Из спецификации html5, http://www.w3.org/TR/2012/WD-html5-author-20120329/the-canvas -element .html # the-canvas-element

Элемент canvas имеет два атрибута для управления размером координатного пространства: ширина и высота.

Эти атрибуты при указании должны иметь значения, которые являются действительными неотрицательными целыми числами.

Атрибут width по умолчанию равен 300, а атрибуту height по умолчанию - 150.

12
задан NinjaCoder 14 July 2015 в 05:30
поделиться

3 ответа

Когда вы создаете xml, вы должны записать NavigationView после BaseLayout (FrameLayout, LinearLayout и т. д.)

<DrawerLayout>
    <FrameLayout />
    <NavigationView />
</DrawerLayout>
52
ответ дан 이종일 16 August 2018 в 05:00
поделиться
  • 1
    Спасибо, что работает для меня. – Shivam Garg 31 May 2016 в 05:45
  • 2
    Ответ Rockstar .. спасибо – Siddharth 7 June 2016 в 09:11
  • 3
    Вау. Я искал часы. Спасибо. – NorthernLights 19 June 2016 в 04:52
  • 4
    Это устранило проблему, возникшую при выходе из полноэкранного видео в WebView с помощью кнопки «Назад». FrameLayout был указан после NavigationView в моем XML-файле, и хотя он был установлен как видимость GONE, он все еще скрывал NavigationView и предотвращал возможность регистрации касаний. – Soren Stoutner 19 August 2016 в 04:50
  • 5
    БЛАГОДАРЯ!!!!!!!!!!!!!!!!! – alfo888_ibg 25 October 2016 в 08:59

для меня это сделало трюк!

navigationView = (NavigationView) findViewById (R.id.nav_view);

navigationView.bringToFront ();

7
ответ дан niva 16 August 2018 в 05:00
поделиться

Основной макет вашей работы должен выглядеть следующим образом:

<android.support.v4.widget.DrawerLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@+id/navigationDrawer"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <include layout="@layout/activity_main_content" />

    <android.support.design.widget.NavigationView
        android:id="@+id/navigationView"
        style="@style/NavigationView"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_gravity="right"
        app:headerLayout="@layout/header"
        app:menu="@menu/menu_drawer"/>

</android.support.v4.widget.DrawerLayout>

В этом NavigationView я связал header.xml и menu_drawer.xml (из папки меню), например menu_drawer.xml:

<menu xmlns:android="http://schemas.android.com/apk/res/android">
        <group android:checkableBehavior="single">
            <item
                android:id="@+id/nav1"
                android:checked="true"
                android:icon="@drawable/logo"
                android:title="Navigation item 1"/>
            <item
                android:id="@+id/nav2"
                android:icon="@drawable/logo"
                android:title="Navigation item 2"/>
        </group>
    </menu>

, чем ваш java-код:

public class ActivityMain extends AppCompatActivity implements NavigationView.OnNavigationItemSelectedListener {

    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        setUpToolbar();
        setUpNavDrawer();
    }

 private void setUpNavDrawer() {
        NavigationView view = (NavigationView) findViewById(R.id.navigationView);
        mDrawerLayout = (DrawerLayout) findViewById(R.id.navigationDrawer);
        view.setNavigationItemSelectedListener(this);
        mDrawerToggle = new ActionBarDrawerToggle(this, mDrawerLayout, toolbar, R.string.drawerOpen, R.string.drawerClose);
        mDrawerLayout.addDrawerListener(mDrawerToggle);
        mDrawerToggle.syncState();
    }

Проверьте, работает ли это для вас. В моем проекте работает как прелесть.

5
ответ дан Siddharth 16 August 2018 в 05:00
поделиться
  • 1
    Вызывает ли он onOptionsItemSelected, когда выбран значок гамбургера? Нет. Также, когда я выбираю элемент навигации, он не вызывает слушателя – NinjaCoder 14 July 2015 в 18:00
Другие вопросы по тегам:

Похожие вопросы: