在NavigationView上能不能倾世召唤:帝宠嗜血狂妃Dialog?

关于NavigationView中不能直接findviewById的解决办法 - 简书
关于NavigationView中不能直接findviewById的解决办法
前几天把Android官方的Design包从23.0.1升级到23.1.1,结果万万没想到,官方给的Design包居然“出问题了”,之前在headerLayout中写的布局文件findviewById后,找不到,会报错。
后来,Google了一下,发现不少人都碰到这个错误,先说解决办法,有两种
第一个,憋升级,还是先退回去吧,继续23.0.1的Design包用着。
第二个,先得到headerLayout的父级容器,再用它的父级容器去findviewById,下边是示例代码
headerView = navigationView.getHeaderView(0);
userName = (TextView) headerView.findViewById(R.id.user_name);
搞不懂Google官方推荐的东西,为什么升级的时候还会出现这种问题。
原文地址: 转载请注明出处!
hello world
用两张图告诉你,为什么你的 App 会卡顿? - Android - 掘金 Cover 有什么料? 从这篇文章中你能获得这些料: 知道setContentView()之后发生了什么? ... Android 获取 View 宽高的常用正确方式,避免为零 - 掘金 相信有很多...
用两张图告诉你,为什么你的 App 会卡顿? - Android - 掘金Cover 有什么料? 从这篇文章中你能获得这些料: 知道setContentView()之后发生了什么? ... Android 获取 View 宽高的常用正确方式,避免为零 - 掘金相信有很多朋友...
侧滑菜单这种设计,在很多 APP 上面都有看到,例如大版本3.0之前的知乎、网易新闻、滴滴打车等。有些热衷于 Android Material Design 的开发者,甚至将一些 IOS 化的 Android 应用改头换面,将其 MD 化。这过程中,基本上都会给这些“改版”...
这篇文章是我学习 Docker 的记录,大部分内容摘抄自 &&Docker — 从入门到实践&& 一书,并非本人原创.学习过程中整理成适合我自己的笔记,其中也包含了我自己的实践记录. 最近工作中遇到项目部署的问题,因为原先旧项目还需要继续在线服役,所以生产环境的一整套东西一...
太长了,还是转载吧...今天在看博客的时候,无意中发现了@Trinea在GitHub上的一个项目Android开源项目分类汇总,由于类容太多了,我没有一个个完整地看完,但是里面介绍的开源项目都非常有参考价值,包括很炫的界面特效设计、个性化控件、工具库、优秀的Android开...
歌曲信息 歌名:Life's a struggle 专辑:Life's a struggle 作词:宋岳庭 作曲:宋岳庭 演唱:宋岳庭 编曲:宋岳庭 歌词文本 直到我睁开双眼踏入这个世界 妈妈给我生命现在让我自生自灭 这让我恐惧在我的眼里每个人都戴着面具 回想过去难道生命就...
延伸:中国人自己了解历史的历史,再详细也跳不吃自己的那些思维习惯,从外国人的角度看中国历史,很多角度确实让人眼前一亮,而且是一部大部头的书,很系统的讲述了,外国人眼中的中国历史。我们经常说的,看问题要两面性的看待问题。真正做到的很少,这本书立德角度就很值得我们学习,跳出来看...
文|小蓟 (《知识分子》特约撰稿人) ①女明星与被拒的申请 2013年,有关个体化医疗最大的新闻之一是女星安吉丽娜·朱莉宣布自己已“预防性”地切除了双侧乳腺,原因是她携带一种“错误”的基因——BRCA1,这种基因会极大增加携带着罹患乳腺癌和卵巢癌的可能性——她大概会有87%...
蔡知任 :独立 有想法 对自己语文的抄写要求特别高 所以语文作业比较慢 数学的错误都因为粗心造成 虽然平时对她非常严格 现在我想说其实你很棒 每次你扯着嗓子回来跟我说你在学校里获得了几张小奖状的时候 我都很为你高兴 (妈妈校长 爸爸核电站 家住核电南苑 ) 俞嘉奕:非常聪明...原生NavigationView菜单中添加消息提醒(小红点) - 简书
原生NavigationView菜单中添加消息提醒(小红点)
其实谷歌上有很多关于怎么实现这个效果的文章,但是百度上实在太难找了,写个中文的方便需要的小伙伴吧
实现图中Slideshow那个效果比较简单,附上链接
实现小红点的效果
思路:TextView设置小圆点背景
直接贴代码
1.写好小红点的布局文件,嵌套在线性布局中是因为在菜单中如果不match_parent的话布局会与顶边对齐,为了居中就再套一个线性布局
&LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:gravity="center_vertical"&
android:id="@+id/msg"
android:background="@drawable/shape_msg"
android:textColor="@android:color/white"
android:gravity="center"
android:layout_width="20dp"
android:layout_height="20dp"/&
&/LinearLayout&
2.在menu.xml文件中添加如下代码(badge是小红点的布局文件)
app:actionLayout="@layout/badge"
比如要在gallery这个条目添加
app:actionLayout="@layout/badge"
android:id="@+id/nav_gallery"
android:icon="@drawable/ic_menu_gallery"
android:title="Gallery" /&
3.在代码中添加消息条数
gallery = (LinearLayout) navigationView.getMenu().findItem(R.id.nav_gallery).getActionView();
TextView msg= (TextView) gallery.findViewById(R.id.msg);
msg.setText("9");
如果你有更好的实现方式请务必告诉我_
微博 黑丫山上小旋风
一个努力成为程序员和民谣歌手的神经病
微博@黑丫山上小旋风
用两张图告诉你,为什么你的 App 会卡顿? - Android - 掘金Cover 有什么料? 从这篇文章中你能获得这些料: 知道setContentView()之后发生了什么? ... Android 获取 View 宽高的常用正确方式,避免为零 - 掘金相信有很多朋友...
用两张图告诉你,为什么你的 App 会卡顿? - Android - 掘金 Cover 有什么料? 从这篇文章中你能获得这些料: 知道setContentView()之后发生了什么? ... Android 获取 View 宽高的常用正确方式,避免为零 - 掘金 相信有很多...
内容抽屉菜单ListViewWebViewSwitchButton按钮点赞按钮进度条TabLayout图标下拉刷新ViewPager图表(Chart)菜单(Menu)浮动菜单对话框空白页滑动删除手势操作RecyclerViewCardColorDrawableSpinner...
作者:snowdream微信:sn0wdr1am原文地址:https://github.com/snowdream/awesome-android awesome-android Introduction android libs from github System re...
afinalAfinal是一个android的ioc,orm框架 https://github.com/yangfuhai/afinal xUtils**android orm, bitmap, http, view inject... https://github.com...
最近有几部很得我欢喜的电影:大话西游和北京遇上西雅图之不二情书。 仔细想一下,大话西游之所以吸引我的原因并不是至尊宝为承担重任而放手爱情的无奈和悲伤,而是始终坚信爱情的紫霞仙子。尽管时隔这么久,我脑海依然浮现紫霞听到至尊宝那句爱你一万年时的感动、坚信爱人会驾着七彩祥云拯救自...
D是为年轻上进的数学教师,我们喜欢她的幽默风趣,喜欢她的青春洋溢,喜欢她的奇思妙想。但在家长眼中,她那满满的胶原蛋白,更多的是在诉说着“年少无知”,她那平滑的额头上,赫然写着“新手上路”二字。她那温和的好脾气,仿佛是不能服众的不足……总之,我们眼中的年轻有为,在家长看来,都...
编者按: 从营地回来4天了,可是~ 连续几天梦里都是在营地,有孩子们,有我们的大门,瞭望台,有很多欢声笑语~ 今天早上回复了一个小朋友的留言,问我冬令营来营地吗?然后她看到家长营里妈妈的分享,特别感动。 8天或许不是人生里很长的时间,但是呢,小编知道,这一定是孩子们最值得回...
以小博大,将小的点先做到极致。
今天月考,各年级打乱顺序的,领航班和实验班的学生都在这个队伍中,我没有发现他们脸上写着优等生的字样,他们样貌平平,有一点儿,他们有着踏实,沉下去的心态,字体工整,涂卡细致,一步一个脚印,让人很是喜欢。 什么是好学生?这个不好比较,我觉得良好的品行就是好学生,我们要让学生学会...当不在某个UINavigationView,有没有什么能触发的事件啊?_百度知道
当不在某个UINavigationView,有没有什么能触发的事件啊?
答题抽奖
首次认真答题后
即可获得3次抽奖机会,100%中奖。
四个人发货日芙蓉和火热
采纳率:100%
为您推荐:
其他类似问题
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。直接写解决方法吧:
1、将XML里的静态引入删除:
&android.support.design.widget.NavigationView
android:id="@+id/nav_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="start" /&
&!--删除下面两行--&
&!--app:headerLayout="@layout/nav_header"--&
&!--app:menu="@menu/nav_menu"--&
2、在代码里 findViewById 找到 NavigationView,然后引入 Header 和 Menu,再获取头部布局,最后设置监听事件:
//findviewbyid
navigationView = (NavigationView) findViewById(R.id.nav_view);
//引入header和menu
navigationView.inflateHeaderView(R.layout.nav_header);
navigationView.inflateMenu(R.menu.nav_menu);
//获取头部布局
View navHeaderView = navigationView.getHeaderView(0);
3、完整代码如下:
private void initNavigation() {
drawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
navigationView = (NavigationView) findViewById(R.id.nav_view);
//引入header和menu
navigationView.inflateHeaderView(R.layout.nav_header);
navigationView.inflateMenu(R.menu.nav_menu);
//设置menu的监听事件
navigationView.setNavigationItemSelectedListener(new NavigationView.OnNavigationItemSelectedListener() {
public boolean onNavigationItemSelected(@NonNull MenuItem item) {
switch (item.getItemId()) {
case R.id.add_city:
startActivityForResult(new Intent(MainActivity.this, CityPickerActivity.class),
REQUEST_CODE_PICK_CITY);
drawerLayout.closeDrawers();
case R.id.setting:
Intent SettingIntent = new Intent(MainActivity.this, SettingActivity.class);
startActivity(SettingIntent);
drawerLayout.closeDrawers();
case R.id.about:
Intent aboutIntent = new Intent(MainActivity.this, aboutActivity.class);
startActivity(aboutIntent);
drawerLayout.closeDrawers();
//获取头部布局
View navHeaderView = navigationView.getHeaderView(0);
//设置监听事件
icon_image = (CircleImageView) navHeaderView.findViewById(R.id.icon_image);
icon_image.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
dialog.show();
//读取头像
Utility.getImageFromShare(this, icon_image);
dialog = new CustomDialog(this, 100, 100, R.layout.dialog_photo, R.style.Theme_dialog,
Gravity.BOTTOM, R.style.pop_anim_style);
//屏幕外点击无效
dialog.setCancelable(false);
btn_camera = (Button) dialog.findViewById(R.id.btn_camera);
btn_camera.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
toCamera();
btn_picture = (Button) dialog.findViewById(R.id.btn_picture);
btn_picture.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
toPicture();
btn_cancel = (Button) dialog.findViewById(R.id.btn_cancel);
btn_cancel.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
dialog.dismiss();
阅读(...) 评论()NavigationView 的使用
NavigationView 的引入让 Android 侧边栏实现起来相当方便,最近公司项目中也使用这个新的控件完成了侧边栏的改版。在使用过程中遇到一些坑,写篇博文记录一下。
本文分为两大主要部分,第一部分是基本使用,第二部分是各种使用小细节(坑),如果你对其使用已经熟悉了,可以跳过第一部分。
compile 'com.android.support:design:23.1.1'
&?xml version="1.0" encoding="utf-8"?&
&android.support.v4.widget.DrawerLayout
android:id="@+id/drawer_layout"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"&
&FrameLayout
android:layout_width="match_parent"
android:layout_height="match_parent"&
&LinearLayout
android:id="@+id/main"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"&
&android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="@color/colorPrimary"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"/&
&/LinearLayout&
&/FrameLayout&
&android.support.design.widget.NavigationView
android:id="@+id/navigation"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="start"
app:headerLayout="@layout/nav_header"
app:menu="@menu/activity_main_drawer"/&
&/android.support.v4.widget.DrawerLayout&
其中需要注意给 NavigationView 设置 android:layout_gravity="start" 属性。
其中头部通过 app:headerLayout="@layout/nav_header" 属性添加,nav_header 的布局如下:
&?xml version="1.0" encoding="utf-8"?&
&FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="192dp"
android:theme="@style/ThemeOverlay.AppCompat.Dark"&
&ImageView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/nav_header_bg"
android:scaleType="centerCrop"/&
&ImageView
android:layout_width="96dp"
android:layout_height="96dp"
android:layout_gravity="bottom"
android:layout_marginBottom="36dp"
android:padding="8dp"
android:src="@drawable/ic_avatar"/&
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
android:padding="16dp"
android:text="Jaeger"
android:textAppearance="@style/TextAppearance.AppCompat.Body1"/&
&/FrameLayout&
下面的菜单列表部分是一个 menu 文件,通过 app:menu="@menu/activity_main_drawer"属性添加。
activity_main_drawer.xml 文件在 menu 文件夹下,内容为:
&?xml version="1.0" encoding="utf-8"?&
&menu xmlns:android="http://schemas.android.com/apk/res/android"&
&group android:checkableBehavior="single"&
android:id="@+id/nav_camera"
android:icon="@drawable/ic_menu_camera"
android:title="Import"/&
android:id="@+id/nav_gallery"
android:icon="@drawable/ic_menu_gallery"
android:title="Gallery"/&
android:id="@+id/nav_slideshow"
android:icon="@drawable/ic_menu_slideshow"
android:title="Slideshow"/&
android:id="@+id/nav_manage"
android:icon="@drawable/ic_menu_manage"
android:title="Tools"/&
&item android:title="Communicate"&
android:id="@+id/nav_share"
android:icon="@drawable/ic_menu_share"
android:title="Share"/&
android:id="@+id/nav_send"
android:icon="@drawable/ic_menu_send"
android:title="Send"/&
4. 菜单列表的点击事件
菜单列表的点击事件设置代码如下:
navigationView.setNavigationItemSelectedListener(new NavigationView.OnNavigationItemSelectedListener() {
public boolean onNavigationItemSelected(MenuItem item) {
switch (item.getItemId()){
case R.id.nav_personal_info:
// do something
return false;
至此,NavigationView 的基本使用就差不多搞定了,效果就是前面图片显示的效果。接下来是各种填坑环节。
Android开发笔记(一百三十三)导航视图NavigationView
[UWP开发]NavigationView基础使用方法
Material Design控件之NavigationView
DrawerLayout和NavigationView使用详解
NavigationView
NavigationView获取Header View的问题
解决NavigationView full screen
没有更多推荐了,}

我要回帖

更多关于 倾世召唤:帝宠嗜血狂妃 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信