第九章 使用布局与组件创建用户界面
Constraint约束布局
- 添加依赖项
- 转换默认布局LinearLayout为ConstraintLayout约束:
- 约束编辑选项:
- 遵循默认的设计规范:边距属性默认为16dp或8dp。
- 样式:含有描述组件行为和外观的属性定义。
- 视图的宽与高:
相关小记
- 可以在ConstraintLayout中添加约束,类似于橡皮筋。有着一定的约束规范。
- 编剧属性是布局参数,由父组件为主。内边距(Padding)不是布局参数,以内容为基础。
- 通常以dp设置距离的大小。用sp设置字体的大小。
挑战练习
- 自定义日期的格式
/**
* @param activity 传入DateFormat.is24HourFormat(context)方法中的context
* @param mCrime 数据模型
* @return string类型
*/
public static String dateZhongwen(Context activity, Crime mCrime){
if (DateFormat.is24HourFormat(activity)) {
date = DateFormat.format("yyyy年MM月dd日 EEEE kk:mm", mCrime.getDate()).toString();
} else {
date = (String) DateFormat.format("yyyy年MM月dd日 EEEE hh:mm", mCrime.getDate());
}
return date;
}
时间格式参数
-
yyyy : 代表年 假设年份为 2019
"y" , "yyy" , "yyyy" 匹配的都是4位完整的年 如 : "2019"
"yy" 匹配的是年分的后两位 如 : "19"
-
MM : 代表月 假设月份为 6
"M" 对应 "6"
"MM" 对应 "06"
-
dd : 代表日(只能使用小写) 假设为13号
"d" , "dd" 都对应 "13"
-
hh : 代表时(区分大小写,大写为24进制计时,小写为12进制计时) 假设为15时
"H" , "HH" 都对应 "15"
"h" 对应 "3"
"hh" 对应 "03"
-
mm : 代表分 假设为32分
"m" , "mm" 都对应 "32"
-
ss : 代表秒(只能使用小写) 假设为15秒
"s" , "ss" 都对应 "15"
-
E : 代表星期 假设为 Sunday
"E" , "EE" , "EEE" 都对应 "Sun"
"EEEE" 对应 "Sunday"
-
a : 代表上午 “AM” 还是下午"PM"