那时我明白了必须千方百计把Vitaly的多选概念设计实现出来;所以我几乎立即就开始了编写这个控件的工作。现在让我们来看看这个安卓的多选动画是如何诞生的。 ?...(未被选中的列表总是按照字母顺序排列。选中列表按照被选择的先后顺序排列) 一个隐藏的item被添加到选中列表中。 对被点击的item执行过渡动画。...删除被点击的item并显示选中列表中隐藏的item。...这里是我在实现这个库的过程中,Kotlin的这些特性给我带来了方便: 1.扩展函数 Kotlin的扩展函数功能使得我们可以为现有的类添加新的函数,而不用修改原来的类。 就拿安卓的View来说。...这些方法非常普遍,而且不同编程语言都表现出相同的行为,包括Java 8 (streams)。不幸的是streams在安卓开发中还不能使用。
我们仍然挣扎在低效率的、古老的 Java 6 版本中,以至于大部分开发者都忘记了还有其他平台的存在。...更重要的是,今天我就要把这些都展示给您,让您知道在开发安卓程序过程中是多么的爽快。 类型别名:让你的事件监听更具可读性 当然,类型别名是有很多用处的。...因此,即使我们同样实现的代码看上去大同小异,但很重要的一点就是我们懂得协程归更到底是创建了子线程并在主线程中返回得到结果,这在安卓中尤为重要。...辛运的是, Kotlin 团队开发极其迅速,已经有好些库把协程的威力带到了安卓开发中。...这也是开源的魅力所在! 其他一些对于安卓开发者来说很酷的事情 在这个版本中还有很多其他的改进,但是我想重点提出几个关于针对安卓开发的功能。
Navigation系列——进阶篇 作者 大家好,我叫小琪; 本人16年毕业于中南林业科技大学软件工程专业,毕业后在教育行业做安卓开发,后来于19年10月加入37手游安卓团队; 目前主要负责国内发行安卓相关开发...(这里为MainActivity的activity_main)中添加BottomNavigationView控件, 的方法中,并赋值给成员变量mGraph,最后在onGraphCreated方法中将第一个页面显示出来...定义BottomNavigationView时 app:menu属性指定的menu资源文件中,item标签的id和nav_graph中fragment标签的id保持一致的原因了吧,我们继续跟踪, public...,最后通过FragmentTransaction的replace方法创建fragment。
程序员因为较为腼腆,分享的人较少,大部分都是客户部、分析部或者推广部的分享,久而久之,氛围就比较消极。...整个分享过程,感觉自己就是为了将PPT内容放完就等于完成任务似的,导致听的人迷迷糊糊的,一个点还没有放完就跳到了另一个点,致使整个分享结束,听众吸收的部分很少。...窗口背景颜色 navigationBarColor 导航栏颜色 通过在styles中配置颜色来定制您的主题,并在AndroidManifest中应用。...那么底下就需要一个tab进行切换,BottomNavigationView便开始登场。从名字就可以看出 「底部导航view」,主要的作用在于给每个模块一个导航定位的功能。 先看一下效果: ?...-- 省略部分代码 --> XML中进行引用 BottomNavigationView
✅简易的安卓天气app(一)——解析Json数据、数据类封装 ✅简易的安卓天气app(二)——适配器、每小时数据展示 ✅简易的安卓天气app(三)——城市管理、数据库操作 简易的安卓天气app(四)—...:dropDownHeight://设置提示框的高度,太小可能会遮盖部分提示,不过可以上下滚动显示 android:dropDownWidth://设置提示框的宽度,太小可能会遮盖部分提示 android...CityAdapter适配器: 前面文章提到过,略过过了就,, 指路==>适配器写法: 简易的安卓天气app(二)——适配器、每小时数据展示 根据目录适配器HourWeatherAdapter索引...后续会更新,适配器也是安卓提供的ArrayAdapter,传入的是全国所有市的String[]数组。...,只要把此类中已经封装好的全部城市集合传进去就行了,前面文章已经讲述过RecyclerView的用法,同时,也可以实现点击item跳转到主页获取天气的操作,前面文章也已经提到,不想过多赘述了; 若是嫌弃城市列表太多
故在此总结整理安卓开发中比较常见的一些问题,技巧和指南。 1.开发环境 Android Studio是谷歌基于IntelliJ IDEA社区版开发的,面向安卓开发的免费集成开发环境。...其方便快捷的开发调试和可视化UI编辑可以令安卓开发事半功倍。...接着,Minimum SDK指的是本项目所支持的最小安卓SDK,点击“Help me choose”会出现如下界面帮助选择合适的安卓最小SDK版本: 图1 安卓API版本选择帮助界面 其中CUMULATIVE...DISTRIBUTION表示如果支持该安卓版本以上设备,则预估能支持安卓设备占所有安卓设备的百分比。...3.2 安卓项目文件及目录结构简介 安卓应用配置文件AndroidManifest.xml: 用于配置包名、应用权限、应用图标及名称、主题等基本信息,此外包括了应用的Activity相关配置,没有在此进行注册的
一、文章快速总结RecycleView是安卓的列表,可以灵活控制每一项的数据,布局,动画。Adaper是整体适配器,逻辑放在这里。Holder是每一项的内容,把控件初始化放在这里。...说白了就是ui的列表,可以很灵活的控制列表中每一项的数据,布局,动画。三、RecycleView的优点 1、支持局部刷新。 2、可以自定义item增删时的动画。...,其中VH是我们adapter类中创建的一个继承于RecyclerView.ViewHolder的静态内部类。...MyHolder : 这是RecyclerView.ViewHolder的实现类,用于初始化item布局中的子控件。需要注意的是,在这个类的构造方法中需要传递item布局的View给父类 。...我们可以在RecyclerView的Adapter中自定义一个接口,并创建一个供其他类设置监听的方法。
✅简易的安卓天气app(一)——解析Json数据、数据类封装 简易的安卓天气app(二)——适配器、每小时数据展示 ✅简易的安卓天气app(三)——城市管理、数据库操作 ✅简易的安卓天气app(四)—...,里面包了JsonObject,7个表示7天,由于只需拿到当天数据,所以第0项就是当天详细天气),用来存放城市的当天天气,如果我们想要展示更精美的页面呢,或者说是展示更多的数据,比如,我们这里用RecyclerView...展示一天中每个小时的天气,实现效果(若是想从当前时刻开始,获取小时温度,可自行实现,源码见页尾) 涉及内容 获取网络数据 数据实体类的封装 异步获取网络数据 Gson工具类解析Json 界面设计RecyclerView...详细讲解C一下,第一篇就是,讲的非常全面,附加地址Android RecyclerView最全使用详解 布局效果 需要添加的RecyclerView <LinearLayout android...rlvHourWeather;并findByView注册拿到之后就可以添加适配器了,想要哪个小页面传到这个RecyclerView中,, 每小时天气小界面: <?
越小的问题越难发现。 背景: ---- 想实现类似iOS滑动删除功能,安卓Recyclerview没有实现该功能。...自己实现起来很麻烦,所以用了Star比较多的SwipeMenuRecyclerView。 按照使用说明,一步步没有问题。 问题 ---- 出现问题,不能滑动。 仔细对照使用说明,没有异同。...然后陷入排查模式 定位 ---- 最后感觉是布局出了问题。 本人是iOS 做的多,所以用的是ConstraintLayout。 想到了,iOS最常犯错的view可点击事件有没有打开。...然后找到了安卓clickable属性。 解决办法 ---- ConstraintLayout里面的 android:clickable="true" 这样就解决了。
✅简易的安卓天气app(一)——解析Json数据、数据类封装 ✅简易的安卓天气app(二)——适配器、每小时数据展示 简易的安卓天气app(三)——城市管理、数据库操作 ✅简易的安卓天气app(四)—...(源码见页尾✨) 本项目用到的天气api接口天气api 详细操作内容见第一篇-->简易的安卓天气app(一)——解析Json数据<-- 此接口当我们默认不拼接参数,直接访问会得到当前位置的温度Json...所以接下来就是进行安卓SQLite数据库的一些操作,把当前位置信息保存到数据库中(城市名,城市温度,更新时间) 待实现效果: 数据库成功插入当前位置数据信息(之前测试插入过几条的测试对照用数据):... 适配器就是决定在此城市管理页面的RecyclerView中展示哪个页面,跟之前一样,前几篇文章都有篇幅概括,基本的一些操作就是, 添加一个构造方法...来绑定控件,此时在城市管理页面要求点击某个城市,需要传值到MainActivity,并获取指定点击城市的天气信息 所以适配器中添加一个点击事件,首先在适配器中添加接口 public interface
51.EOE安卓开发社区 http://www.eoeandroid.com/forum.php?...gid=180 52.安卓巴士 http://www.apkbus.com/ 53.问答类,可以找到解决问题(即使很偏的问题)的方案 http://stackoverflow.com/...viewmode=contents 106.微信公众号: android开发中文站:AndroidChinaNet、ImportNew 安卓应用频道:androidpd App架构师:appjiagou...ldoublem/LoadingView 110.zxing二维码: https://github.com/zxing/ 111.Android Application Architecture 安卓...from=timeline&isappinstalled=0 112.安卓中的Model-View-Presenter模式介绍 http://www.jcodecraeer.com/a/anzhuokaifa
今天开始更新【重拾安卓】系列文章。 因业务需要又要做一个 Android 原生的项目,记录下时隔几年之后再开发安卓的那些事。...讲的不会太基础,基本上是自定义View封装,复杂功能的实现等等,有需要的小伙伴可以关注~ 安卓对表格的支持不是太友好,前端很快能实现的简单表格,安卓写的话要费很大精力。...构造方法小技巧:把前两个参数少的构造方法里的 super 改成 this,并填充默认值变成三个参数,就会都调用三个参数的构造方法了,业务逻辑只需写在最后一个构造方法里即可。...这个 View 很简单,先在构造方法里绑定 xml 布局,再执行初始化方法初始数据,然后在 onLayout 中计算每个单元格的宽度,最后对外暴露一个方法设置数据。...再撸一个有合并单元格的复杂表头表格吧,效果图如下: 这基本能覆盖大部分场景了,依然是纯手撸,不用其他框架,敬请期待~
} } } Step 2:修改编译版本 // 2.修改编译版本为 android - P compileSdkVersion 'android-P' Step 3:移除项目工程中依赖的...那下面按照步骤操作一次: Step 1:在布局中添加BottomNavigationView: BottomNavigationView...这里再次简单描述相关细节: Bottom Sheets具有五种状态: STATE_COLLAPSED: Bottom Sheets是可见的,但只显示可视(部分)高度。...这将是可视高度,展开高度或0,以防用户操作导致底部表单隐藏; STATE_HIDDEN: Bottom Sheets隐藏。...最后,觉得不错,来波转发~比心~
的displayMetrics中。...()); 即可完美适配RecyclerView的UI显示。...比如现在主流手机分辨率1080*1920. 2. dp是安卓开发专有的单位 在 不同的手机下 1dp = 不同的 px. 3. sp是字体大小(前面清单文件中要求字体也用dp或者px),sp随系统字体大小变化而变化...引用: 今日头条屏幕适配方案终极版 AndroidAutoSize-玩Android - wanandroid.com安卓适配AutoSize详解_xxdw1992的博客-CSDN博客_me.jessyan...:autosizeAndroid安卓中最棒的屏幕适配AndroidScreenAdaptation_快乐李同学的博客-CSDN博客_android screen 屏幕适配:修改屏幕像素密度,随便设dp_Android
零、前言 [1].RecyclerView可以说是现在安卓视图的一哥了 [2].加包implementation 'com.android.support:design:26.1.0' [3].RecyclerView...ArrayList data) { mCtx = ctx; this.data = data; } /** * 相当于getView方法中创建...R.layout.item_rv, null); return new FirstViewHolder(itemView); } /** * 相当于getView 绑定数据部分的代码...rv5.png 2.不重复造轮子了,网上找的一款装饰线类 有一点是每一个条目都绘制全RecyclerView长宽,绘制了很多不必要的线 不过在RecycleViewDivider里我暂时得不到给个view...canvas.drawRect(left, top, right, bottom, mPaint); } } } } 本文由张风捷特烈原创,转载请注明 更多安卓技术欢迎访问
我们在下载图片的时候,最后有一项复制SVG 我们复制出来的如下 BottomNavigationView的使用 实现底部菜单常用的方式 RadioGroup + ViewPager + Fragment 加载相邻的Fragment FragmentTabHost...+ Fragment 加载选中的Fragment BottomNavigationView 有选中动画效果 之前我都是用前两种方式来做的 既然官方有现成的 还是推荐用官方的,毕竟有动画效果。...,默认是主题的颜色 app:menu指的是底部菜单(文字和图片都写在这个里面,推荐图片使用矢量图) app:itemTextColor指的是导航栏文字的颜色 app:itemIconTint指的是导航栏中图片的颜色...(我之前还以为只有矢量的才能着色,其实无论菜单中的图片是否为矢量图都可以设置着色) res => color => main_bottom_navigation.xml <?
前面一篇总结了ListView,在这篇我们总结一些这个RecyclerView,我们就从最基本的开始,安卓团队是将RecyclerView定义在support库当中的,因此想要使用RecyclerView...这个控件,首先需要在项目的build.gradle中添加相应的依赖库才行。 ... 它的基本的创建和添加到XML文件中我们就不在提了,这个比较简单,先看看要是想实现和前面我们写的ListView相同的效果,下面是最重要的适配器里面的代码,注释就是理解的思路,我们选择通篇复制...abstract static class Adapter 这句是我们看到的官方的关于Adapter的代码 // 从这句代码中你可以捕捉到的信息就是它的参数...} } 上面就是最重要的代码了,下面就是我们MainActy的代码,我们把这个RecyclerView让它横着滑动,看看我们活动里面的代码,最后我们再看看这整个效果运行起来的效果:
这篇攻略是我从事开发工作七八年来,去面试,以及面试别人的经验总结。其中大部分都是大企业面试常问的面试题,可以对照这查漏补缺,当然了,这里所列的肯定不可能覆盖全部方式,希望对大家之后找工作有帮助!...开放问题:优化一个列表页面的打开速度和流畅性 App瘦身 网络优化 移动端获取网络数据优化的几个点 客户端网络安全实现 设计一个网络优化方案,针对移动端弱网环境 App电量优化 安卓的安全优化 提高app...安卓的app加固如何做? 安卓的混淆原理是什么? 谈谈你对安卓签名的理解 为什么WebView加载会慢呢? 如何优化自定义View FC(Force Close)什么时候会出现?...Android Apk V1 签名原理 说下安卓虚拟机和java虚拟机的原理和不同点?...安卓采用自动垃圾回收机制,请说下安卓内存管理的原理? 开放性问题:如何设计垃圾回收算法? Android中App是如何沙箱化的,为何要这么做? 一个图片在app中调用R.id后是如何找到的?
开放问题:优化一个列表页面的打开速度和流畅性 App瘦身 网络优化 移动端获取网络数据优化的几个点 客户端网络安全实现 设计一个网络优化方案,针对移动端弱网环境 App电量优化 安卓的安全优化 提高app...安卓的app加固如何做? 安卓的混淆原理是什么? 谈谈你对安卓签名的理解 为什么WebView加载会慢呢? 如何优化自定义View FC(Force Close)什么时候会出现?...Android Apk V1 签名原理 说下安卓虚拟机和java虚拟机的原理和不同点?...安卓采用自动垃圾回收机制,请说下安卓内存管理的原理? 开放性问题:如何设计垃圾回收算法? Android中App是如何沙箱化的,为何要这么做? 一个图片在app中调用R.id后是如何找到的?...最后,预祝各位小伙伴都能实现自己的目标,在每一个阶段都能成就更好的自己。
[1].本文接上文:RecyclerView基本使用 [2].RecyclerView把很多事都交给了我们,就连item的点击事件都没有 [3].在adapter中加载布局的时候,可以为item...添加事件 [4].没有点击效果,还要自己添加点击的选择器 [5].RecyclerView增删条目以及条目运动效果 ---- 一、点击事件 方式1.修改:FirstRvAdapter#onCreateViewHolder...rv点击1.gif ---- 二、背景选择器 添加点击效果:可以自定义选择器 为item的背景添加:安卓自带波纹样式的选择器 //有边界 android:background="?...增加与删除.gif 本文由张风捷特烈原创,转载请注明 更多安卓技术欢迎访问:https://www.jianshu.com/c/004f3fe34c94 张风捷特烈个人网站,编程笔记请访问:http...://www.toly1994.com 你的喜欢与支持将是我最大的动力
领取专属 10元无门槛券
手把手带您无忧上云