首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

【错误记录】Android 编译报错 ( Attempt to invoke virtual method ‘void xx.ActionBar.setTitle()‘ on a null obj )

void setTitle() 方法 , 但是 androidx.appcompat.app.ActionBar 对象是空 , 直接报空指针异常 ; 进入 setupActionBarWithNavController...和 ActionBar 关联起来 ; 此处没有获取到 ActionBar 对象 , ActionBar 是页面顶部 标题栏 ; 在 Android Studio 中生成代码 , 一般都是标准代码..., 不会出错 , 这里出现问题大概率是自己在项目中其它设置导致 ; 检查 AndroidManifest.xml Theme 主题设置 , 在 application 标签 , 设置了 Theme.AppCompat.Light.NoActionBar...Theme.AppCompat.Light.NoActionBar 主题 , 肯定是没有 ActionBar , 因此这里尝试调用 androidx.appcompat.app.ActionBar...在上述代码 , 调用了 NavigationUI.setupActionBarWithNavController 函数 , 关联了 Navigation 与 ActionBar , 这里可以调用其他关联方法

39410

Android BottomNavigationView最新用法

Android 技术更新太快了,比如:kotlin、jetpack 等等,要学习东西实在是太多了,今天我就来介绍一下 BottomNavigationView 最新用法以及注意事项。... labelVisibilityMode 属性用法,设置 app:labelVisibilityMode="labeled" 可以将图标和文字全部展示出来。... labelVisibilityMode 属性用法,设置 app:labelVisibilityMode=“labeled” 可以将图标和文字全部展示出来。...注意 bottom_nav_menu.xml item id 名称一定要和 nav_graph.xml fragment id 名称保持一致,否则无法切换 tab。...注意 nav_graph.xml fragment id 名称一定要和 bottom_nav_menu.xml item id 名称保持一致,否则无法切换 tab。

89210
您找到你想要的搜索结果了吗?
是的
没有找到

深入浅出 NavigationUI | MAD Skills

在本文中,我们将为大家讲解另外一个用例,即类似操作栏 (Action Bar)、底部标签栏或者抽屉型导航栏之类 UI 组件如何在应用实现导航功能。...比如,当您在最顶层目的页面时,就不会显示回退按钮,因为没有更高层级页面。 默认情况下,您应用最初页面是唯一最顶层目的页面,但是您也可以定义多个最顶层目的页面。...BottomNavigationView,并且将 bottom_nav_menu 设置BottomNavigationView menu 属性。...setupWithNavController(navController) } 请注意我并没有从导航图中调用任何导航操作。实际上导航图中甚至没有前往 coffeeList Fragment 路径。...和之前对 ActionBar 所做操作一样,BottomNavigationView 通过匹配 MenuItem id 和导航目的页面的 id 来自动响应导航操作。

3K30

自定义View:手撸一个带FAB凹槽底部导航栏

如果你FAB移动了,导航栏怎么跟着变化? 同事:没得怎么变化,反正需求没有说要加动画 我:那要是PM要你导航栏凹陷深度依赖于FAB位置大小,你要怎么处理? 同事:......那阁下又当如何应对?...特性,设置底部导航栏作为FAB参照物方便对齐停靠; FAB位移动画以及导航栏凹陷动态变化:自定义导航栏形状,根据FAB凹陷深度来动态绘制导航栏。...,接下来就是想办法把这个按钮塞进去,并且设置按钮中心点与导航栏顶部居中对齐。...对于这样效果我决定老老实实选择自定义BottomNavigationView,为所欲为哈哈哈!...值,由此一来可以达到凹槽收缩效果,按钮向下运动时同理: 另外还需要考虑按钮完全位于导航栏上方时情况,这种情况下直接使用直线来代替原来曲线部分。

9310

Jetpack组件之Navigation

在Navigation Graph文件可以通过android:label来设置AppBar标题。...如果该标志已设置,任务返回堆栈就会被清除,并被替换为相应深层链接页面。与显式深层链接一样。 如果该标记未设置,您仍会位于触发隐式深层链接时所在上一个应用任务堆栈。...在这种情况下,如果按下返回按钮,您会返回到上一个应用;如果按下向上按钮,就会在导航图中父级目的地上启动应用任务。...arg={arg}"/> 注意: 没有架构 URI 会被假定为 http 或 https。 形式为 {params} 路径参数占位符与一个或多个字符相匹配。...FragmentNavigator并设置给NavController,需要注意是我们要通过自定义FragmentNavigator手动来创建Destination(目的地),布局app:navGraph

2.9K20

1. Jetpack源码解析---看完你就知道Navigation是什么了?

、ViewPager等,这里面我们需要配置一个Fragment,这个Fragmentname是androidx.navigation.fragment.NavHostFragment,这是一个添加到布局特殊部件...) 2.3.2 NavOptions切换动画 当然fragment之间切换是支持动画,NavOptions是一个动画管理类,我们可以设置进入和回退动画,设置方式有两种: 直接在标签设置动画 <...没错,就是我们在xml布局设置那一个。...紧接着我们通过setGraph进入到了NavController类,通过graph里面设置初始fragment看到了切换栈内切换Fragment代码。...到这里基本代码实现已经了解差不多了,然后我回到了入口,通过初始化NavController,调用NavigationUI方法绑定NavigationView、ToolBar、BottomNavigationView

2.5K30

Android Notes|BottomNavigationView 爱上 Lottie

-- ... --> 相对比较简单方式,便是提供一套默认 Icon,然后根据选中进行 tint 着色,当然,也可以通过 selector 选择器去设置对应选中以及未选中 Icon,...-- 设置导航栏高度 --> 84dp 对于设置角标,也就是右上角小圆点或者对应数字,可通过获取...mNavigationAnimationNightList } else { mNavigationAnimationList } } 判断是否深色模式我单独提取了一个工具类,Lottie-android 也有对深色模式兼容方法...小教训(心得): 真的是有时候不得不换种思维方式,首要便是实现,随后才是优化。基本雏形都没有,何谈优化?...身为猿猿,面对实际开发遇到问题,一定要采取多方案,首要保证内容、结果输出,其次才是合理循循渐进优化。 2、BottomNavigationView Item 长按提示怎么搞掉?

3.7K21

1. Android_Jetpack组件---Naviagtion源码解析

、ViewPager等,这里面我们需要配置一个Fragment,这个Fragmentname是androidx.navigation.fragment.NavHostFragment,这是一个添加到布局特殊部件...) 2.3.2 NavOptions切换动画 当然fragment之间切换是支持动画,NavOptions是一个动画管理类,我们可以设置进入和回退动画,设置方式有两种: 直接在标签设置动画 <...没错,就是我们在xml布局设置那一个。...紧接着我们通过setGraph进入到了NavController类,通过graph里面设置初始fragment看到了切换栈内切换Fragment代码。...到这里基本代码实现已经了解差不多了,然后我回到了入口,通过初始化NavController,调用NavigationUI方法绑定NavigationView、ToolBar、BottomNavigationView

2.1K10

1. Jetpack源码解析---看完你就知道Navigation是什么了?

、ViewPager等,这里面我们需要配置一个Fragment,这个Fragmentname是androidx.navigation.fragment.NavHostFragment,这是一个添加到布局特殊部件...) 2.3.2 NavOptions切换动画 当然fragment之间切换是支持动画,NavOptions是一个动画管理类,我们可以设置进入和回退动画,设置方式有两种: 直接在标签设置动画 <...没错,就是我们在xml布局设置那一个。...紧接着我们通过setGraph进入到了NavController类,通过graph里面设置初始fragment看到了切换栈内切换Fragment代码。...到这里基本代码实现已经了解差不多了,然后我回到了入口,通过初始化NavController,调用NavigationUI方法绑定NavigationView、ToolBar、BottomNavigationView

2.1K20

Android Navigation + Fragment 制作APP主页面导航(步骤 + 源码)

从这个图来看,项目本身没有任何问题,为了保险起见,建议先运行一下。 1. 添加依赖 Navigation 是JetPack组件,感兴趣可以去查看Google JetPack官方文档。...它就不报错了,这句话意思是未使用导航许可。因为我现在还没有使用这个nav_graph.xml所以要加上这一句话告诉AS,让它放心。等我们真正去使用时,是没有影响,去不去掉都行。 3....明明这个NavController还什么都没有,为什么就可以显示了呢?实际上它已经在工作了,只是你没有注意而已。...底部导航栏控制Fragment切换 在上面已经添加了底部导航栏,但是这个导航栏还没有和NavHost绑定起来,所以自然就无法在切换底部导航同时,改变NavHostFragment。...源码地址:AppHomeNavigation ---- 总结   其实我这里没有做通过滑动Fragment来切换BottomNavigationView

9K42

再不迁移到Material Design Components 就out啦

Android Studio 重构 > 迁移到 AndroidX 工具会将您 Design Support Library 依赖重构成 MDC。...attr/borderlessButtonStyle” ... /> 之所以出现这种情况是因为,在填充布局时候,会自动将我们布局普通控件替换成 MDC 控件。...下面这几种情况应该考虑 在布局控件如果有对应 MDC 控件的话,直接使用 MDC 控件 任何风格,默认风格和默认风格属性应该改变成 MDC 版本 在编程或者自定义类父级类使用任何控件都应该为...已适当命名现有属性(例如colorPrimary和colorError) 新属性由MDC介绍(colorSurface,colorOnPrimary等) ?...MDC小部件使用这些属性来设置其背景样式。要了解哪些窗口小部件适用于哪些形状类别,需要检查源代码默认窗口小部件样式。 控件背景 实现此功能类为 MaterialShapeDrawable.

3.1K30

安卓Navigation系列——进阶篇

相关依赖 implementation 'androidx.navigation:navigation-fragment-ktx:2.3.1' implementation 'androidx.navigation...(这里为MainActivityactivity_main)添加BottomNavigationView控件, <?...定义BottomNavigationView时 app:menu属性指定menu资源文件,item标签id和nav_graphfragment标签id保持一致原因了吧,我们继续跟踪, public...那么我们是不能在布局文件通过app:navGraph属性指定自定义导航资源文件了,只能在布局文件中去掉app:navGraph这个属性,然后在添加FixFragmentNavigator同时,通过代码将导航资源文件设置进去...总结 本篇在上篇基础上,结合BottomNavigationView实现了第一个底部导航切换实例,然后介绍了这种方式引发坑,进而通过源码分析了发生这种现象原因,并给出了解决思路。

2.9K30

写一个MVVM快速开发框架:谈一谈“单Activity+多Fragment”模式

管理Fragment栈 我们可以使用navigation管理fragment,fragment之间跳转、栈管理都轻而易举,navigation还可以设置切换动画、页面间数据传递。...Navigation组件 Navigation是Jetpack组件之一,很早之前iOS就是采用这种跳转方式,当时就在想Android为啥没有,没多久Navigation就面世了。...Navigation可以理解为以一个管理fragment容器,在容器各个fragment可以实现任意跳转, 基础使用: 我们需要在布局创建Fragment容器: <androidx.fragment.app.FragmentContainerView...使用menuid与navGraph设置成一样啊哈哈哈哈 基本上ARouter+Navigation可以满足大部分页面跳转需求,但还是有一些难点,就是不同moduel之间navGraph怎么相互控制...,暂时没有想到太好解决办法(可以通过之前提到想外提供接口服务实现),毕竟Navigation就没打算为组件化准备。

1.4K40

学习|Android检测并自动下载安装包(Kotlin)

下载完成后显示点击安装按钮进行安装,再加入一个调用TTS配置按钮进行语音设置 代码实现 DownloadHelper类 这个类是从网上找,通过AsyncTask方式实现安装包下载,加入了一个onDownloadInferface...接口实现,网上这个类是JAVA写,这里我自己用Kotlin重新写了一篇(其实复制过来可以自己转换),但是这样对自己学习Kotlin没有什么太大帮助,直接贴出代码,其中外部调用时在Java静态方法直接前面加上...import android.widget.Button import android.widget.ProgressBar import android.widget.TextView import androidx.appcompat.app.ActionBar...,在AndroidSDK23后访问下载路径有变化了,当我们下载完成提示点击安装时要注意下面的情况 ?...对应AndroidManifest.xml也要加入 <provider android:name="<em>androidx</em>.core.content.FileProvider

1.3K10

JetPack--Navigation

进行展示 3.NavController:用于在代码完成Navigation Graph具体页面切换工作 当想要切换Fragment时,使用NavController对象,指定跳转Navigation...> Activity代码,获取NavController对象,并绑定ActionBar package com.aruba.navigation; import androidx.appcompat.app.AppCompatActivity...NavController绑定 NavigationUI.setupActionBarWithNavController(this, navController); } } 在fragment设置一个点击事件...); } }); } } 最后在Activity添加ActionBar返回键支持: @Override public boolean onSupportNavigateUp...,跳转到设置后,AppBar右上角选项还在,那么我们需要在设置界面时,去除选项 在SettingFragment,重写onCreateOptionsMenu方法,调用menu.clear(),并在onCreateView

56510

Material Design 在 Android 应用

4、风格背景 文字采用圆角+阴影进行包裹,至于高度和圆角效果因为时间紧迫,没有按照严格规范进行设置,如果对这方面有要求可以参考官网详细规范要求。 ?...整个分享过程,感觉自己就是为了将PPT内容放完就等于完成任务似的,导致听的人迷迷糊糊,一个点还没有放完就跳到了另一个点,致使整个分享结束,听众吸收部分很少。...android:color/white" app:itemTextColor="@android:color/white" app:menu="@menu/bottom_menu"/> 代码设置点击事件...Toolbar作为早期AndroidActionBar替代品,定制性和操作性挺高了不少。使用时候需要设置NoActionBar主题。...上面的属性完全可以像第四种情况叠加使用,至于效果自己尝试了了才能感觉到它奥妙之处。 8、转场动画 交互有了,现在看是添加点击跳转效果了。

1.2K20
领券