• 微信公众号:美女很有趣。 工作之余,放松一下,关注即送10G+美女照片!

day3:UI开发

互联网 diligentman 1周前 (07-21) 6次浏览

UI开发

    • 常用控件的使用方法
    • 详解三种基本布局
    • 自定义控件
    • ListView和RecyclerView基本使用
      • 适配器(Adapter)
      • 数据源(data)
      • 传递数据的类(class)
      • 子项界面(xml)
    • 编写聊天界面
    • Kotlin:延迟初始化和密封类
      • 延迟初始化
      • 密封类

常用控件的使用方法

TextView 
ImageView
Button
ImageButton
//这几个是非常常用的基本控件

match_parent与wrap_content也是一对好兄弟

match_parent//与父布局大小同
wrap_content//根据内容的大小决定控件大小

gravity属性和layout_gravity属性

gravity//用于指定文字的对齐方式
layout_gravity//控件在布局中的相对位置

src与background的区别

src是前景
background是背景
二者可以配合使用,没有指定的话一般有个默认的,在主题那里可以修改

详解三种基本布局

LinearLayout

//线性排列,比较经典
layout_weight属性是以前关注比较少的,可以使得同一方向的控件宽度或者高度按照比例分配

RelativeLayout

//使用比较少,体会不多

FrameLayout

//控件默认放在布局左上角,理解的也不是很深

constraintLayout

//哈哈哈,我开发过程中最喜欢的一个布局,没有什么学习难度,就是通过as鼠标操作的,想放哪放哪
//缺点是屏幕的适配性不是非常好(可能自己太菜了)

自定义控件

通过自定义的控件可以有效减少开发中有些相同功能的控件的开发,减少了一定的代码冗杂

ListView和RecyclerView基本使用

适配器(Adapter)

适配器主要是进行数据和控件之间传递,即如何将数据有效的传递到界面上

ListView子项的逻辑是在Adapter外面实现的而RecyclerView是在Adapter内部实现的,

而且更加灵活

数据源(data)

目前在学习阶段采用的是本地的数据,之后可能就是从网络上读取

传递数据的类(class)

主要是为子项的逻辑实现的一个类似java Bean,主要用于数据之间的传递的媒介

子项界面(xml)

展示界面的文件,美观就看这个了

编写聊天界面

9-Patch图片是一种可以指定拉伸部位的图片,主要是应对图片中内容改变对于图片的影响

提醒列表数据更新的方法(不止)

notifyItemInserted(posion:Int)//只能刷新一个指定位置的元素,多个的可以查看相关的api
//阅读源码的注释貌似还挺快乐的

Kotlin:延迟初始化和密封类

延迟初始化

延迟初始化是kotlin的一种防止空指针以及减少判空操作的机制

lateinit关键字实现,不过还是要确保会进行初始化,不然仍然会有安全问题

::adapter.isInitialized//判断是否初始化

密封类

通过sealed class 关键字实现(主要是为了解决代码冗余,暂时体会不深)


程序员灯塔
转载请注明原文链接:day3:UI开发
喜欢 (0)