1.控件类
- Genymotion虚拟机andplus
- drawable-24用来放矢量图
- ConstraintLayout布局可以添加百分比辅助线帮助适配
- 这个右边是多选然后按照一种方式对齐,也非常好用
- 图片引用如R.drawable.apple可用int类型的图片id存放
- style:该资源目录用于置放各种主题供ToolBar使用或其他控件使用如传送门
- 关于那么多Text,第一个是label,Plain Text是全显示的,Password出来是*****,Number只会弹出数字键盘(emmm,所以有些只有填写数字验证码但跳出来全键盘的是程序员偷懒了)
- 日历
- 评分星星
- 屏幕翻转
- 横纵模式可以做两套布局 这位up第九课
2. 本地化(适配多语言)
1)来到values文件夹,打开strings.xml,使用open editor
2)点击小地球,寻找简体中文(Minima做了本地化处理,强大)
3)添加对应转换语言
4)对应的文件夹就生成了
2.5 使用layout_marginStart与End取代Left和Right
2.6 clipToPadding 和clipChildren
- LinearLayout也可以做出下面有超越边界的bottombar(比如宽设为0,四个FrameLayout其权重为一即可)。其属性默认都为true。
1)clipToPadding 如果为false意思是,view内部的padding区也可以显示view。
2)clipChildren 如果为false意思是,布局内部的子view即使出了布局的边界,也可以显示出子view界面。
- 注意clipToPadding,这个慎重使用,别有嵌套就瞎写(啥地方都来一个),和weight=1和其他布局可能会组合成不明觉厉的效果。
4)好看的样例
5)子控件要超出父控件需将父控件的android:clipToPadding、android:clipChildren属性设为false,有时候我们发现父控件设置了这两个属性,子控件还是被裁剪了,这是应该父控件的空间也不够了,也就是父控件被裁剪了。这时候我们就需要把父控件的父控件的属性设为false。哈哈,但不要瞎都加上总结就是,要占哪个控件的空间,就要设置它的属性。
List<Integer> idlistgroup = Arrays.asList(
R.id.first,
R.id.second,
R.id.third,
R.id.forth)
2.7接口写法:两种方式
3.ViewModel-jetpack(androidx库的一个组件)中的一个类
- ViewModel属于jetpack架构组件的部分
- 使界面Activity和Fragment UI本身只控制界面,将代码数据操作交给ViewModel,解耦
- 储存Activity的数据,当ac未destory时,重新绘制屏幕时(切换语言,旋转屏幕)数据不会丢失
- ViewModelProviders已经弃用改为ViewModelProvider样例
- 配合LifeData完成动态数据的监听(数据变化自动刷新,结合Room完成数据库的存储。