标签: android-navigationview

导航抽屉的NavigationView上仍然存在重叠的阴影效果

我已经改进了Android Studio的Navigation Drawer Activity项目模板,该模板使用Toolbar,v7.app.ActionBarDrawerToggleNavigationView而不是NavigationDrawerFragment(以及layout/fragment_navigation_drawer.xml).

导航抽屉在抽屉关闭时呈浸入式粘性

它完美地工作.然后,我走得更远.我的导航抽屉项目处于沉浸式粘性(全屏)模式.

@Override
public void onWindowFocusChanged(boolean hasFocus) {
    super.onWindowFocusChanged(hasFocus);

    if (hasFocus) {
        View decorationView = getWindow().getDecorView();
        decorationView.setSystemUiVisibility(
                View.SYSTEM_UI_FLAG_LAYOUT_STABLE
                        | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
                        | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
                        | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
                        | View.SYSTEM_UI_FLAG_FULLSCREEN
                        | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY);
    }
}

@Override
protected void onCreate(Bundle savedInstanceState) {

    ...

    toolbar = (Toolbar) findViewById(R.id.toolbar);
    setSupportActionBar(toolbar);
    ActionBar actionBar = getSupportActionBar();
    actionBar.setDisplayHomeAsUpEnabled(true);

    drawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
    drawerToggle = new ActionBarDrawerToggle(
            this,
            drawerLayout,
            R.string.navigation_drawer_open,  /* "open drawer" description for accessibility */
            R.string.navigation_drawer_close  /* "close drawer" …
Run Code Online (Sandbox Code Playgroud)

android android-fullscreen navigation-drawer android-navigationview

12
推荐指数
2
解决办法
2959
查看次数

如何在MenuItem上设置长按一下监听器(在NavigationView上)?

如何设置长按一下监听器MenuItem

我试过这个答案,但这个方法对我来说并不存在.有解决方案吗

码:

Menu menu = navigationView.getMenu();
MenuItem menuItem = menu.findItem(R.id.menu_item);

// TODO set a long click listener on the menuItem.
menuItem.setOnLongClickListener(...); // Method does not exist, any other solutions?
Run Code Online (Sandbox Code Playgroud)

编辑:我不想设置自定义ActionView,我想要长整型监听器MenuItem,而不需要自定义视图.

android android-menu android-navigationview

12
推荐指数
1
解决办法
5138
查看次数

以编程方式将MenuItem添加到特定位置或组的菜单

我有一个

<android.support.design.widget.NavigationView
  app:menu="@menu/drawer"
/>
Run Code Online (Sandbox Code Playgroud)

使用以下菜单项:

<item
    android:id="@+id/main_item"
    android:icon="@drawable/ic_menu_main"
    android:title="@string/app_name"/>

<group
    android:id="@+id/some_group"
    android:checkableBehavior="single"/>

<item
    android:id="@+id/teams_item"
    android:icon="@drawable/ic_menu_teams"
    android:title="@string/teams"/>
Run Code Online (Sandbox Code Playgroud)

现在我想some_group在它之下或之下添加一个项目.

我试过了:

MenuItem mi = menu.add( R.id.soume_group, someId, NONE, "some name" );
Run Code Online (Sandbox Code Playgroud)

要么

MenuItem mi = menu.add( R.id.soume_group, someId, 2, "some name" );
Run Code Online (Sandbox Code Playgroud)

但是项目会添加到菜单的底部.

如何解决我的问题?

TIA

android menuitem android-navigationview

11
推荐指数
1
解决办法
2567
查看次数

仅在指定图标的NavigationView中禁用颜色色调

我需要为某些图标禁用色调颜色,NavigationView因为它们的颜色定义了类别类型.我该怎么做?
下图显示了我的问题:
在此输入图像描述

android android-navigationview

11
推荐指数
2
解决办法
3892
查看次数

问题删除NavigationView菜单项选择的颜色?

大家好我面临一个奇怪的问题.我添加Navigation View了我Activity的默认情况下,每当我启动应用程序时,第一个导航项目选择了一些背景颜色.

我想删除此功能.

我的朋友:

dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:22.2.1'
compile 'com.android.support:design:22.2.1'
}
Run Code Online (Sandbox Code Playgroud)

码:

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);

    FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
    fab.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)
                    .setAction("Action", null).show();
        }
    });

    DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
    ActionBarDrawerToggle toggle = new ActionBarDrawerToggle( …
Run Code Online (Sandbox Code Playgroud)

android android-navigationview

10
推荐指数
5
解决办法
1万
查看次数

默认导航抽屉视图到ExpandableListView

在Android Studio 2.1.2中,如果我创建默认导航活动,我会得到以下视图:

在此输入图像描述

其中使用以下activity_main.xml文件:

<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/drawer_layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:fitsSystemWindows="true"
    tools:openDrawer="start">

    <include
        layout="@layout/app_bar_main"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

    <android.support.design.widget.NavigationView
        android:id="@+id/nav_view"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_gravity="start"
        android:fitsSystemWindows="true"
        app:headerLayout="@layout/nav_header_main"
        app:menu="@menu/activity_main_drawer" />

</android.support.v4.widget.DrawerLayout>
Run Code Online (Sandbox Code Playgroud)

正如你所看到<android.support.design.widget.NavigationView/>的用途app:menu="@menu/activity_main_drawer",用于显示在菜单中定义的列表activity_main_drawer.xml文件,如下所示:

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

    <group android:checkableBehavior="single">
        <item
            android:id="@+id/nav_camera"
            android:icon="@drawable/ic_menu_camera"
            android:title="Import" />
        <item
            android:id="@+id/nav_gallery"
            android:icon="@drawable/ic_menu_gallery"
            android:title="Gallery" />
        <item
            android:id="@+id/nav_slideshow"
            android:icon="@drawable/ic_menu_slideshow"
            android:title="Slideshow" />
        <item
            android:id="@+id/nav_manage"
            android:icon="@drawable/ic_menu_manage"
            android:title="Tools" />
    </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" …
Run Code Online (Sandbox Code Playgroud)

java android expandablelistview navigationview android-navigationview

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

侧面导航抽屉项目点击不起作用

在任何人将其作为重复问题之前先阅读,因为它不是.

我使用了导航抽屉,底部导航栏和自定义操作栏.

底部导航栏和操作栏工作正常.导航抽屉还显示其下的菜单,但项目不可点击.

我已经尝试了所有相关的答案

导航抽屉项目单击不起作用

但我的问题还没有解决.调试部分没有错误.

输出图像

输出图像

仪表板活动

package com.vicky.sampleApp;
import android.content.Intent;
import android.os.Build;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.annotation.RequiresApi;
import android.support.design.widget.BottomNavigationView;
import android.support.design.widget.NavigationView;
import android.support.v4.app.Fragment;
import android.support.v4.view.GravityCompat;
import android.support.v4.widget.DrawerLayout;
import android.support.v7.app.ActionBar;
import android.support.v7.app.ActionBarDrawerToggle;
import android.support.v7.app.AppCompatActivity;
import android.view.Gravity;
import android.view.MenuItem;
import android.view.View;
import android.widget.TextView;
import android.widget.Toast;
import android.support.v7.widget.Toolbar;

public class Dashboard extends AppCompatActivity implements NavigationView.OnNavigationItemSelectedListener {
    //android.app.ActionBar actionbar;
    TextView textview;
    TextView textviewTitle;
    private ActionBar toolbar;
    private DrawerLayout drawer;
    private ActionBarDrawerToggle toggle;

    @RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)
    @Override
    protected void onCreate(Bundle …
Run Code Online (Sandbox Code Playgroud)

android navigation-drawer android-navigationview bottomnavigationview

10
推荐指数
2
解决办法
4615
查看次数

如何在android中的导航抽屉里面添加一个可折叠的菜单项?

我有一个DrawerLayout封闭的a NavigationView,这个布局活动作为我的应用程序中所有活动的通用导航抽屉.我app:menu在导航视图中提供菜单资源.我有一些菜单项,但我希望一个菜单项可折叠/可扩展,这样当我点击它时,它会展开以显示两个子菜单并在第二次点击时再次折叠.

我已经通过添加另一个子菜单添加<menu>里面的<item>,但不能使之收缩/扩张.

另外,我不想ExpandableListView用于我的目的.相反,我只需要在菜单资源文件中做一些调整.请指出我正确的方向.我搜索Google只是为了查找可折叠列表项的代码,博客和示例ExpandableListView,但是我需要它来使用NavigationView设计支持库中的设计小部件.

这是我的菜单文件代码:

<menu xmlns:android="http://schemas.android.com/apk/res/android">

<group android:checkableBehavior="single">
    <item
        android:id="@+id/nav_aboutus"
        android:title="About Us" />

    <item
        android:id="@+id/nav_faq"
        android:title="FAQs" />
    <item
        android:id="@+id/nav_share"
        android:title="Share" />
    <item
        android:id="@+id/nav_myaccount"
        android:title="My Account" />
    <item
        android:id="@+id/nav_legal"
        android:title="Legal" >
        <menu>
                <item
                    android:id="@+id/nav_tnc"
                    android:title="Terms and Conditions" />
                <item
                    android:id="@+id/nav_pp"
                    android:title="Privacy Policy" />
            </group>
        </menu>
    </item>

</menu>
Run Code Online (Sandbox Code Playgroud)

我希望法律菜单项可以扩展,有两个子菜单项"条款和条件","隐私政策".

android navigation-drawer android-navigationview

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

导航视图+选择器+涟漪效果状态选择不起作用

我搜索了所有的东西并进行了实验,但没有运气NavigationView.

itemIconTint,itemTextColoritemBackground有效地工作ripple.但问题state selected不起作用selector drawable

我也创造drawable-v21并投入ripple_navigation_selector.xml

我的目标是当再次打开抽屉时,之前选择的项目应为黄色,例如.通知项目

在此输入图像描述

NavigationView 在main_layout.xml中

  <android.support.design.widget.NavigationView
    android:id="@+id/navigation_view"
    android:layout_width="250dp"
    android:layout_height="match_parent"
    android:layout_gravity="end"
    android:background="@color/black"
    app:headerLayout="@layout/header"
    app:itemIconTint="@drawable/navigation_view_icon_tint_selector"
    app:itemTextColor="@drawable/navigation_view_text_selector"
    app:menu="@menu/drawer"
    app1:itemBackground="@drawable/ripple_navigation_selector"
     />
Run Code Online (Sandbox Code Playgroud)

ripple_navigation_selector.xmldrawable-v21

<item
    android:id="@android:id/mask"
    android:drawable="@drawable/navigation_selector"/>
<item android:drawable="@drawable/navigation_selector"/>
Run Code Online (Sandbox Code Playgroud)

navigation_selector.xmldrawable-v21

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:drawable="@color/left_light_yellow" android:state_pressed="true"></item>
<item android:drawable="@color/left_light_yellow" android:state_activated="true"></item>
<item android:drawable="@color/left_light_yellow" android:state_checked="true"></item>
<item android:drawable="@android:color/black"></item>
Run Code Online (Sandbox Code Playgroud)

颜色字符串命名 left_light_yellow

<color name="left_light_yellow">#F6CE20</color>
Run Code Online (Sandbox Code Playgroud)

android rippledrawable android-5.1.1-lollipop android-navigationview

8
推荐指数
1
解决办法
1985
查看次数

更改NavigationView的项文本颜色

如何更改NavigationView菜单项文本颜色.我的menu.xml文件是,我也写

app:itemIconTint ="@ color/white"app:itemTextColor ="@ color/white"在我的布局中但它不起作用

<?xml version="1.0" encoding="utf-8"?>
Run Code Online (Sandbox Code Playgroud)

<item
    android:checked="false"
    android:title="@string/popular">
    <menu>
        <item
            android:id="@+id/tag1"
            android:checked="false"
            android:icon="@drawable/bird"
            android:title="@string/tag1" />

        <item
            android:id="@+id/tag2"
            android:checked="false"
            android:icon="@drawable/rabbit"
            android:title="@string/tag2" />

        <item
            android:id="@+id/tag3"
            android:checked="false"
            android:icon="@drawable/bird"
            android:title="@string/tag3" />

        <item
            android:id="@+id/tag4"
            android:checked="false"
            android:icon="@drawable/rabbit"
            android:title="@string/tag4" />


        <item
            android:id="@+id/tag5"
            android:checked="false"
            android:icon="@drawable/bird"
            android:title="@string/tag5" />
        <item
            android:id="@+id/setting"
            android:checked="false"
            android:icon="@drawable/setting"
            android:title="@string/setting" />
        <item
            android:id="@+id/rate"
            android:checked="false"
            android:icon="@drawable/rating"
            android:title="@string/rate" />
    </menu>
</item>
Run Code Online (Sandbox Code Playgroud)

这是我的应用程序中的NavigationView,你可以看到如果itemTextColor没有任何效果

我的NavigationView喜欢..

 <android.support.design.widget.NavigationView
    android:id="@+id/navigation_view"
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:layout_gravity="start"
    android:background="@color/theme_primary"
    app:headerLayout="@layout/layout_drawer_header"
    app:itemIconTint="@color/white"
    app:itemTextColor="@color/white"
    app:menu="@menu/menu_main" />
Run Code Online (Sandbox Code Playgroud)

android android-navigationview

8
推荐指数
1
解决办法
1781
查看次数