总结
最后为了帮助大家深刻理解Android相关知识点的原理以及面试相关知识,这里放上相关的我搜集整理的14套腾讯、字节跳动、阿里、百度等2021最新面试真题解析,我把技术点整理成了视频和PDF(实际上比预期多花了不少精力),包知识脉络 + 诸多细节。
网上学习 Android的资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
.setToolbarColor(ContextCompat.getColor(context, R.color.colorPrimary))
.setSecondaryToolbarColor(ContextCompat.getColor(context, R.color.colorPrimaryDark))
.build()
CustomTabsIntent.Builder()
.setDefaultColorSchemeParams(schemeParams)
.build().launchUrl(context, uri)
CustomTabColorSchemeParams支持
-
toolbarColor
-
secondaryToolbarColor
-
navigationBarColor
-
navigationBarDividerColor
看看效果
菜单
比如setActionButton
val bitmap = BitmapFactory.decodeResource(this.resources, R.mipmap.ic_setting)
val intent = Intent(context, LoginActivity::class.java)
val activity = PendingIntent.getActivity(context, 0, intent, 0)
//内置启动
CustomTabsIntent.Builder()
.setActionButton(bitmap, “自定义Action”, activity)
.setDefaultColorSchemeParams(schemeParams)
.build().launchUrl(context, uri)
这里用PendingIntent指定后续操作,比如打开一个页面或者发送一个广播。
可以看到右上角多了一个设置的小图标。
除此之外还有很多别的api,比如:
-
addMenuItem(String label, PendingIntent pendingIntent)
-
setCloseButtonIcon(Bitmap icon)
-
setShowTitle(boolean showTitle)
-
等等
btn_launch.setOnClickListener {
openWebPage(this, Uri.parse(“https://www.baidu.com”))
}
…
private fun openWebPage(context: Context, uri: Uri) {
if (context.isChromeSupported()) {
//设置颜色方案
val schemeParams = CustomTabColorSchemeParams.Builder()
.setToolbarColor(ContextCompat.getColor(context, R.color.colorPrimary))
.setSecondaryToolbarColor(ContextCompat.getColor(context, R.color.colorPrimaryDark))
.build()
val bitmap = BitmapFactory.decodeResource(this.resources, R.mipmap.ic_setting)
val intent = Intent(context, LoginActivity::class.java)
val activity = PendingIntent.getActivity(context, 0, intent, 0)
//内置启动
CustomTabsIntent.Builder()
.setActionButton(bitmap, “自定义Action”, activity)
.setDefaultColorSchemeParams(schemeParams)
.build().launchUrl(context, uri)
} else {
//启动默认浏览器
context.startActivity(Intent(Intent.ACTION_VIEW, uri))
}
}
private fun Context.isChromeSupported(): Boolean {
val serviceIntent = Intent(CustomTabsService.ACTION_CUSTOM_TABS_CONNECTION)
serviceIntent.setPackage(“com.android.chrome”)
val resolveInfos = packageManager.queryIntentServices(serviceIntent, 0)
return !resolveInfos.isNullOrEmpty()
}
学习分享,共勉
Android高级架构师进阶之路
题外话,我在阿里工作多年,深知技术改革和创新的方向,Android开发以其美观、快速、高效、开放等优势迅速俘获人心,但很多Android兴趣爱好者所需的进阶学习资料确实不太系统,完整。今天我把我搜集和整理的这份学习资料分享给有需要的人
- Android进阶知识体系学习脑图
- Android进阶高级工程师学习全套手册
- 对标Android阿里P7,年薪50w+学习视频
- 大厂内部Android高频面试题,以及面试经历
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!