在我的NavigationView中,我有一个标题布局,其id为'viewId',带有活动按钮.要设置这些按钮,我在活动中执行以下操作onPostCreate:
final View panel = findViewById(R.id.viewId);
panel.setOnClickListener(new View.OnClickListener() {
... setup goes here ...
});
Run Code Online (Sandbox Code Playgroud)
使用新版本的android支持库(23.1.0),无法找到视图,它返回null.以前的版本运行良好.这是一个错误还是我使用此功能错了?如果是这样,如何访问标题布局并向其添加行为?
android android-support-library android-design-library navigationview
Google NavigationView在设计支持库版本22.2.0中引入了该版本,您可以使用菜单资源轻松创建抽屉.
如何在两个项目之间创建简单的分隔线?对项目进行分组不起作用.创建子项目部分会创建一个分隔线,但它需要一个我不想要的标题.
任何帮助,将不胜感激.
android android-support-library navigation-drawer android-design-library navigationview
我正在使用这样的设计支持库NavigationView:
<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/drawer_layout"
android:layout_height="match_parent"
android:layout_width="match_parent"
android:fitsSystemWindows="true">
<!-- put your main layout here -->
<include layout="@layout/drawer_main_layout"/>
<android.support.design.widget.NavigationView
android:id="@+id/nav_view"
android:layout_height="match_parent"
android:layout_width="wrap_content"
android:layout_gravity="start"
android:fitsSystemWindows="true"
app:headerLayout="@layout/nav_header"
app:menu="@menu/drawer_view"/>
</android.support.v4.widget.DrawerLayout>
Run Code Online (Sandbox Code Playgroud)
我已经设置了这个菜单:
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<group android:checkableBehavior="single">
<item
android:id="@+id/nav_home"
android:icon="@drawable/ic_dashboard"
android:title="Home" />
<item
android:id="@+id/nav_messages"
android:icon="@drawable/ic_event"
android:title="Messages" />
<item
android:id="@+id/nav_friends"
android:icon="@drawable/ic_headset"
android:title="Friends" />
<item
android:id="@+id/nav_discussion"
android:icon="@drawable/ic_forum"
android:title="Discussion" />
</group>
<item android:title="Sub items">
<menu>
<item
android:icon="@drawable/ic_dashboard"
android:title="Sub item 1" />
<item
android:icon="@drawable/ic_forum"
android:title="Sub item 2" />
</menu>
</item>
</menu>
Run Code Online (Sandbox Code Playgroud)
有没有办法使用NavigationView布局而不是菜单?
提前致谢
android android-design-library navigationview android-navigationview
android drawerlayout material-design android-design-library navigationview
使用new NavigationView,我们可以通过XML菜单资源设置抽屉的项目.
有了它,我们可以设置每个项目
<item
android:id="@+id/drawer_my_account"
android:icon="@drawable/ic_my_account"
android:title="@string/drawer_my_account" />
Run Code Online (Sandbox Code Playgroud)
但现在,我想为抽屉中的每个项目设置一个自定义字体,我无法通过XML或Java代码找到方法.有办法吗?
新设计支持库中的新NavigationView非常棒.
他们使用" 菜单项 "来显示选项.
但我怎么能显示计数器到正确的菜单项?
就像在这张图片中:

或者像GMail应用程序一样.
android navigation-drawer material-design navigationview androiddesignsupport
我有以下菜单项:
<item
android:id="@+id/lock"
android:checkable="true"
android:title="@string/lock" >
<menu >
<item
android:id="@+id/block_mess"
android:checked="true"
android:icon="@drawable/chantinnhan"
android:title="@string/block_mess_string" />
<item
android:id="@+id/block_call"
android:checked="false"
android:icon="@drawable/chancuocgoi"
android:title="@string/block_call_string" />
<item
android:id="@+id/lock_app"
android:checked="false"
android:icon="@drawable/khoaungdung"
android:title="@string/lock_app_string" />
</menu>
</item>
Run Code Online (Sandbox Code Playgroud)
......还有更多,但它真的很长
但图标真的很小(即使它有res 256x256).我想把它做大!那可能吗?这是截图:
编辑:好的,我们都知道谷歌"锁定"图标大小.但我想知道我可以"绕过"锁定并制作一些东西......可自定义吗?
我正在尝试使用NavigationView来实现NavigationDrawer.我通过在菜单中设置组ID添加了分隔符.但是我看不到分隔符.我想这是因为分隔符颜色与背景相同.所以我想改变分隔符颜色.但我发现无法改变它.谁能帮我?
在屏幕截图中,似乎有一个空间用于History和之间的分隔符Settings,但你看不到它.

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:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:fitsSystemWindows="true"
tools:context=".ui.MapActivity">
<LinearLayout
android:id="@+id/main_content"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<include layout="@layout/toolbar_actionbar" />
<!--main content-->
</LinearLayout>
<android.support.design.widget.NavigationView
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="start"
android:background="@color/navdrawer_background"
app:insetForeground="#4000"
app:itemTextColor="@color/navdrawer_item_text_color"
app:itemIconTint="@color/navdrawer_item_icon_tint"
app:headerLayout="@layout/drawer_header"
app:menu="@menu/drawer"/>
</android.support.v4.widget.DrawerLayout>
Run Code Online (Sandbox Code Playgroud)
drawer.xml
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<group android:id="@+id/group_feature"
android:checkableBehavior="single">
<item android:id="@+id/navdrawer_item_map"
android:checked="true"
android:icon="@drawable/ic_drawer_map"
android:title="@string/navdrawer_item_map"/>
<item android:id="@+id/navdrawer_item_favourite"
android:icon="@drawable/ic_drawer_fav"
android:title="@string/navdrawer_item_fav"/>
<item android:id="@+id/navdrawer_item_history"
android:icon="@drawable/ic_drawer_history"
android:title="@string/navdrawer_item_history"/>
</group>
<group android:id="@+id/group_settings"
android:checkableBehavior="single">
<item android:id="@+id/navdrawer_item_settings"
android:icon="@drawable/ic_drawer_settings"
android:title="@string/navdrawer_item_settings"/>
<item android:id="@+id/navdrawer_item_help"
android:icon="@drawable/ic_drawer_help"
android:title="@string/navdrawer_item_help"/>
<item android:id="@+id/navdrawer_item_about"
android:icon="@drawable/ic_drawer_about"
android:title="@string/navdrawer_item_about"/> …Run Code Online (Sandbox Code Playgroud) android navigation-drawer navigationview android-navigationview
我正在使用new NavigationView从XML创建我的导航抽屉菜单.我需要在部分菜单项之间放置一个分隔符,它在我的应用程序各部分之间切换,以及底部的设置和帮助和支持链接.
在我看过的所有例子中,我看到如何通过将另一个放入<menu>一个<item>,但<item>需要具有android:title属性来完成,所以我能做的最好就是将标题留空,这在设置之前留下一个空的空格并提供帮助和反馈.
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<group android:checkableBehavior="single">
<item
android:id="@+id/nav_section_1"
android:icon="@drawable/ic_dashboard"
android:title="@string/section_1"
android:checked="true" /> <!-- default selection -->
<item
android:id="@+id/nav_section_2"
android:icon="@drawable/ic_dashboard"
android:title="@string/section_2" />
<item
android:id="@+id/nav_section_3"
android:icon="@drawable/ic_dashboard"
android:title="@string/section_3" />
</group>
<item android:title="@null"> <!-- I don't want a title or space here! -->
<menu>
<item
android:id="@+id/nav_settings"
android:icon="@drawable/ic_settings"
android:title="@string/settings" />
<item
android:id="@+id/nav_help_feedback"
android:icon="@drawable/ic_help"
android:title="@string/help_feedback" />
</menu>
</item>
</menu>
Run Code Online (Sandbox Code Playgroud)
我已经试过的各种组合<menu>,<item>以及<group>标签,但没有发现任何东西,将工作.例如,这具有使用上一组中的最后一项作为组标题的问题:
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<group android:checkableBehavior="single">
<item
android:id="@+id/nav_section_1"
android:icon="@drawable/ic_dashboard"
android:title="@string/section_1"
android:checked="true" /> …Run Code Online (Sandbox Code Playgroud) 我想一个开关添加为菜单项NavigationView这样

我使用了actionViewClass属性,但它只显示标题.
<item
android:id="@+id/navi_item_create_notifications_sound"
android:title="Notifications Sounds"
xmlns:app="http://schemas.android.com/apk/res-auto"
app:actionViewClass="android.support.v7.widget.SwitchCompat"
app:showAsAction="always" />
Run Code Online (Sandbox Code Playgroud)