标签: navigation-drawer

触摸任意位置以滑动导航抽屉的打开菜单

对于jfeinstein10(https://github.com/jfeinstein10/SlidingMenu)的滑动菜单,我可以在应用程序的任何位置滑动以滑动打开菜单.

对于Google新推出的导航抽屉http://developer.android.com/design/patterns/navigation-drawer.html#side-nav,有什么方法可以让我有类似的行为吗?

到目前为止,从文档中我看到它仅限于从边缘滑动或触摸应用程序图标.

用户可以通过从屏幕左边缘轻​​扫或触摸操作栏上的应用程序图标将导航抽屉带到屏幕上.

android navigation-drawer

21
推荐指数
3
解决办法
2万
查看次数

我可以通过编程方式打开抽屉布局吗?

我使用以下库创建了应​​用程序抽屉:http: //developer.android.com/training/implementing-navigation/nav-drawer.html

我想在打开应用程序时向导航抽屉显示动画.我怎样才能做到这一点?

android android-support-library navigation-drawer

21
推荐指数
2
解决办法
3万
查看次数

根据显示的片段替换工具栏布局

我有一个带导航抽屉的活动,它取代了活动上的main_fragment_container.当显示其中一个片段时,我想更改工具栏的布局并向其添加一个微调器(并在隐藏片段时将其删除).

我的布局看起来像这样:

<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    xmlns:sothree="http://schemas.android.com/apk/res-auto"
android:id="@+id/main_parent_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:fitsSystemWindows="true">

<android.support.v7.widget.Toolbar

    android:id="@+id/toolbar"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    sothree:theme="@style/AppTheme.ActionBar" />

<android.support.v4.widget.DrawerLayout
    android:id="@+id/drawer_layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <!-- Main layout -->
    <FrameLayout
        android:id="@+id/main_fragment_container"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

    <!-- Nav drawer -->
    <fragment
        android:id="@+id/fragment_drawer"
        android:name="com.idob.mysoccer.ui.DrawerFragment"
        android:layout_width="@dimen/navigation_drawer_width"
        android:layout_height="match_parent"
        android:layout_gravity="left|start" />
</android.support.v4.widget.DrawerLayout>
Run Code Online (Sandbox Code Playgroud)

android navigation-drawer material-design android-toolbar

21
推荐指数
1
解决办法
3万
查看次数

无法更改NavigationDrawer的抽屉图标

我正在尝试实现NavigationDrawer自上一次Android主题演讲以来提供的新功能.

我把所有东西都搞定了,当按下左上角的图标时,导航抽屉会打开和关闭.

但是现在我仍然有箭头图标,虽然我用Android中的ic_drawer替换了它.为什么?

这是我指定图标的代码:

mDrawerToggle = new ActionBarDrawerToggle(
            this,                 
            mDrawerLayout,         
            R.drawable.ic_drawer, //<-- This is the icon provided by Google itself
            R.string.drawer_open,
            R.string.drawer_close 
            )
Run Code Online (Sandbox Code Playgroud)

但该应用程序仍然使用标准图标运行setDisplayHomeAsUpEnabled.

有任何想法吗?

navigation android drawer navigation-drawer

20
推荐指数
1
解决办法
2万
查看次数

删除活动并将活动添加到后台堆栈

导航抽屉的 "交叉导航到较低层次结构级别之后的系统返回"部分中,他们说:

如果用户从导航抽屉导航到较低层级屏幕并且屏幕具有直接父级,则重置后退堆栈并且后退指向目标屏幕的父级.此返回行为与用户从通知导航到应用程序时的行为相同.

重置后栈

我知道可以通过使用FLAG_ACTIVITY_CLEAR_TOP和FLAG_ACTIVITY_NEW_TASK启动活动来重置后台堆栈,但这似乎在这里不可用,因为它不会为Lower 1.1.1创建后台堆栈.

知道如何从堆栈中删除TopView2,同时在启动Lower 1.1.1时添加TopView1 - > Lower 1.1返回堆栈吗?考虑到导航抽屉文档中提到的这一点,我期待一个简单的解决方案.

android navigation-drawer

20
推荐指数
1
解决办法
2万
查看次数

如何在导航抽屉中获取项目以更改视图

我想用导航抽屉制作一个简单的应用程序,它可以打开其他视图(新闻,信息,图库,联系人等).所以我打开了最新的Android Studio,制作了一个与API8> API19兼容的新项目,以获得最大的覆盖面.

我选择了预设的导航抽屉并点击完成.我已经想出要更改导航抽屉中项目的名称,但是如何让这些项目重定向到新视图?

我已经尝试将setOnItemClickListener实现到MainActivity中,如导航抽屉网站在http://developer.android.com上所述.但我似乎无法弄清楚这一切是如何联系在一起的,它不会起作用.

tl; dr:我需要帮助让导航抽屉中的项目启动一个新的视图/片段,并可能解释它是如何工作的.

这是应用程序项目(Android Studio)https://www.dropbox.com/s/qfz9oul62dzt3rr/NTI_SHOWCASE.zip

MainActivity.java

package com.christianarne.ntishowcase;

import android.app.Activity;
import android.content.Intent;
import android.content.res.Resources;
import android.graphics.Color;
import android.graphics.drawable.ColorDrawable;
import android.support.v7.app.ActionBarActivity;
import android.support.v7.app.ActionBar;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.content.Context;
import android.os.Build;
import android.os.Bundle;
import android.text.Html;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.support.v4.widget.DrawerLayout;
import android.widget.ArrayAdapter;
import android.widget.TextView;
import android.widget.Toast;

public class MainActivity extends ActionBarActivity
    implements NavigationDrawerFragment.NavigationDrawerCallbacks {


private static final int SETTINGS_RESULT = 1;

/**
 * Fragment …
Run Code Online (Sandbox Code Playgroud)

android android-fragments android-studio navigation-drawer

20
推荐指数
2
解决办法
5万
查看次数

导航抽屉项目未注册单击事件

我正在努力让导航抽屉项目注册并开始和意图进行新的活动.抽屉打开正常并正确显示但是当我点击列表中的项目时没有任何反应.这是我从谷歌教程中获取的代码.

mTitle = mDrawerTitle = getTitle();
           mTitles = getResources().getStringArray(R.array.menu_items);
           mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
           mDrawerList = (ListView) findViewById(R.id.left_drawer);

           // set a custom shadow that overlays the main content when the drawer opens
           mDrawerLayout.setDrawerShadow(R.drawable.drawer_shadow, GravityCompat.START);
           // set up the drawer's list view with items and click listener
           mDrawerList.setAdapter(new ArrayAdapter<String>(this,
                   R.layout.drawer_list_item, mTitles));
           mDrawerList.setOnItemClickListener(new DrawerItemClickListener());

           // enable ActionBar app icon to behave as action to toggle nav drawer
           getActionBar().setDisplayHomeAsUpEnabled(true);
           getActionBar().setHomeButtonEnabled(true);

           // ActionBarDrawerToggle ties together the the proper interactions
           // between the sliding drawer and …
Run Code Online (Sandbox Code Playgroud)

android onclick android-listview navigation-drawer

20
推荐指数
2
解决办法
2万
查看次数

自定义NavigationView - 添加动态headerView,Android支持设计库

我尝试了从新的android支持设计库中的navigationView.我想要一个动态的headerview.基本上,我的标题视图将显示当天的报价.我喜欢大约10个引号,我想随机选择一个引用并在headerView的textview中显示.我还想为headerView添加onClick方法.

现在,我没有看到任何以编程方式更改headerview布局的可能性.有任何建议来实现吗?

android navigation-drawer android-design-library navigationview androiddesignsupport

20
推荐指数
3
解决办法
2万
查看次数

无法解析方法getActivity()

  • 我是Android的新手,并通过以下
    示例学习如何在Android中创建片段:片段导航抽屉

  • 在菜单项添加导航标题之间导航之间的代码包含一种方法getActivity().

  • 由于作者没有提到粘贴此代码的位置,我粘贴在我的MainActivity.java文件中

  • 菜单项之间的导航添加导航标题之间的代码是否由我粘贴在正确的位置?

  • 在方法中selectDrawerItem(MenuItem menuItem)有一个评论// Create a new fragment and specify the planet to show based on position
    作者希望我在这里添加一些东西.

  • 我在AndroidStudio上创建的项目文件布局如下:AndroidStudio Snapshot

android android-fragments navigation-drawer

20
推荐指数
2
解决办法
5万
查看次数

Android Navigation Component has lag when navigating through NavigationDrawer

I am updating my app to Navigation Architecture Components and I see that it has a lag replacing fragments which is visible in the NavigationDrawer that does not close smoothly.

Until now, I was following this approach:

https://vikrammnit.wordpress.com/2016/03/28/facing-navigation-drawer-item-onclick-lag/

所以我导航onDrawerClosed而不是进入onNavigationItemSelected以避免故障。

这是一个非常普遍的问题,但它又回来了。使用导航组件,它再次滞后,我没有看到在onDrawerClosed.

这些是导航组件之前的一些旧答案

Android 上的导航抽屉滞后

DrawerLayout 的项目点击 - 什么时候更换片段合适?

非常感谢。

android navigation-drawer navigationview android-architecture-navigation

20
推荐指数
1
解决办法
2581
查看次数