view类及其子类不位于同一个包中:View类位于android.view包;View类的子类位于android.widget包中
View类常用属性
android:id属性 - 该view的唯一标识
android:background属性 - 设置背景的图片或者颜色
设置图片,前提是bg名称的图片已经放置到mipmap目录下
设置颜色
android:padding属性 - 上下左右的内边距


也可以先定义一个尺寸资源,再引用这个尺寸资源
如果想把上下左右的内边距设置为不同的值,可以使用下面的属性
android api 17 之后又定义了两个设置左右内边距的属性
ViewGroup控制其子组件分布时依赖的内部类
- ViewGroup.LayoutParams类
- ViewGroup.MarginLayoutParams类
ViewGroup.LayoutParams类 - 控制布局的位置,宽度和高度
通常使用如下两个属性
可以使用具体的数值来设置高度宽度
也可以使用常量来设置
ViewGroup.MarginLayoutParams类 - 控制子组件的外边距


Anroid UI组件的层次结构

控制UI界面的几种方法

- 使用XML布局文件控制UI界面
- 在java代码中控制UI界面
- 使用XML和java代码混合控制UI界面
- 开发自定义的View
使用XML布局文件控制UI界面
步骤:
- 在android应用的res/layout目录下编写XML布局文件
- 如 编写 activity_main.xmll
- 在activity中使用java代码显示XML中布局的内容
- setContentView(R.id.activity_main);

要求
- 在界面当中添加一个布局管理器
- 给界面设置背景图片
- 在布局管理器的居中位置添加一个文本框组件,设置文本框的内容为”开始游戏”
3、修改布局其中的内容,将布局器改写为FrameLayout布局器
4、在java代码中引用布局

- 将一些布局代码,或者变化不大的代码放置到xml文件中
- 将复杂的代码放置到java代码中
实现相册列表
1、将用到的12张图片资源放置到图片资源文件夹中
2、创建一个xml布局文件
3、修改java文件
2、创建FrameLayout布局管理器
3、创建自定义的View
4、在布局管理器中添加小兔子的view
相对:需要有一个参考点,别的组件相对这个参考点进行摆放
RalativeLayout.LayoutParams - 在相对布局的组件上设置的属性
组件相对于参考组件位置
组件与布局管理器对其方式
组件与哪个组件的上下左右边界对齐
组件位于布局管理器的哪个位置
textview1居中,且textview2位于textview1的下方
实例:实现软件更新提示页面
要求:
1、在布局管理器的中央位置放置一个文本框组件
2、在文本框下方方式两个按钮,”以后再说”按钮与文本框右对其,”以后再说”左侧放置”现在更新”按钮
步骤:
1、将背景图片拷贝到资源中
2、在values/strings.xml添加文本资源
2、RelativeLayout布局



线性布局管理器
- 垂直:一行只能放一个组件,当组件多于屏幕时,多余的将不被显示
- 水平:一列只能放一个组件,当组件多于屏幕时,多余的将不被显示
定义线性布局管理器
在组件的属性

实例 - 微信登陆界面


帧布局管理属性
使用FrameLayout标记添加该管理器
实例:居中显示的正方形,并添加前景图标

以行列的形式,组织放入的组件
TableLayout 使用
可以直接在TableLayout中添加组件,每添加一个组件,这个组件占据一行
一般需要配合TableRow标签使用,只有行标签没有列标签


实例:实现喜马拉雅登录界面


网格布局管理器属性
网格布局管理器使用标签 GridLayout标记
GridLayout.LayoutParams 网络布局管理器中组件的属性

实例:实现聊天信息列表布局
1、根布局管理器必须包含xmlns属性
2、在一个布局文件中,最多只能有一个根布局管理器,如果需要有多个还需要使用一个布局管理器将他们括起来
3、不能嵌套太深,如果嵌套太深,则会影响性能


版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/203963.html