使用gradle多渠道打包也不是什么新鲜事了,配置productFlavors就完事了,再写点buildConfigField什么的,似乎也就可以用了。 用确实是可以用,但遇上某天想改打包出来的名字就很尴尬了,不知道怎么改。 使用 本来在build.gradle有这样的配置: android { productFlavors {
实现该功能,页面布局是这样的。 红色框画重点。 CoordinatorLayout 也属于FramLayout的一种,内部有自己的LayoutParams构造方法,会调用parseBehavior解析behavior属性,通过反射获取behavior字符串对应的类名,并实例化。CoordinatorLayout采用嵌套滑动机制,父view和子view嵌套滑动交
@NonNull可以标注在方法、字段、参数之上,表示对应的值不可以为空 @Nullable注解可以标注在方法、字段、参数之上,表示对应的值可以为空 以上两个注解在程序运行的过程中不会起任何作用,只会在IDE、编译器、FindBugs检查、生成文档的时候有做提示;我使用的IDE是STS,不会做自动的检
1, 昨天的成就: a) 完成的任务:登陆界面,注册界面 b) 所花时间:4h c) 还剩余2h 2, 遇到的困难: a) 跳转时,页面设置需要多连接 3, 今天的任务: a) 设置主页面 b) 实现瀑布流 1 pa
今天将一个ID字段置为nil,这时报错如下: Null passed to a callee that requires a non-null argument 此警告就是某属性说好的不能为空,你又在某地方写了ID = nil 所以冲突了。 你在声明一个属性的时候加上 __nullable(?可以为空)与__nonnull(!不能为空) 如果放在@property里面的话不
先上图,然后说大致步骤,最后再说细节 图片效果:依序点击导航栏左一、左二、中、右二、右一,最后直接滑动页面(不依靠导航栏切换) 大致步骤如下(文末会有完整代码) 【1】创建一个类,我这里取名TabBarViewPager,然后继承ViewPager 【2】在TabBarViewPager类里面,添加构造函数、onTouchEve