1 关于全面屏与刘海屏,沉浸式状态栏配置相关
2 Android事件总线框架
3 调用系统原生分享工具类
ShareUtil
4 BottomSheetDialogFragment – 分享对话框的弹出界面 底页对话框
BottomSheetDialog 使用详解,设置圆角、固定高度、默认全屏等
5 Android好用的圆形图片库 – CircleImageView
<de.hdodenhof.circleimageview.CircleImageView
android:layout_width="96dp"
android:layout_height="96dp"
android:src="@drawable/profile" 设置图片
app:civ_border_width="2dp" 带边框
app:civ_border_color="#FF000000" 边框颜色
app:civ_circle_background_color="#d9d9d9"/> 背景颜色
6 Android智能下拉刷新框架-SmartRefreshLayout
7 merge ViewStub
1 merge 没有background padding margin 等属性时 可被替代 代替 FramLayout为根节点
2 当某个布局作为子布局 被其他布局 include 时 merge 可以作为 include 的 所在整个布局的 根节点节
<merge>
<include layout="@layout/sun"
<TextView ...
<Button ...
</merge>
降低 UI的嵌套层级
3 ViewStub 同 include 特点 惰性加载 不占位置
默认不加载到界面上 需要通过该类实例的 inflate() 在界面加载出来 对应的引入控件
替换掉 占位 的 viewStub
<ViewStub
android:layout="@layout/xxx"
ViewStub s = findViewById()
View loadErrorView // 多次 .inflate() 会报错 所以 找个 view 接收 判断
if (s != null && loadErrorView == null) {
loadErrorView = s.inflate() 只能替换一次