Android——用户界面设计(布局)
来源:互联网 发布:c语言获取随机数 编辑:程序博客网 时间:2024/05/18 23:54
布局文件所在的位置
Android布局文件存放在res/layout目录下
布局时的注意点
- 确定布局管理器类型。
- 在布局管理器中添加需要的组件。
- 修改Activity里的指向的布局文件。
Android基础组件
Android给我们提供了大量的UI控件,合理使用地使用这些控件就可以编写出界面。
XML
以<组件>开头,直接使用事<组件 />,示例
<组件> 开头,中间到<组件>之间 都是他包裹的内容 <组件 属性:值 属性:值.../> <组件 /> <组件 /> </组件>
能包裹其他组件的,一定是布局
布局是没有界面的组件
整个文档一定是树状结构,只有一个根组件
LinearLayout:布局组件名称 线性布局RelativeLayout: 布局组件名称 相对布局xmlns:android="http://schemas.android.com/apk/res/android" :android 标准命名空间,能使用android官方定义的标准属性所有组件必须有宽和高layout_width: android标准属性(宽)layout_height: android标准属性(高)宽高 有3个常量:match_parent :匹配父窗体一样大 wrap_content :包裹内容 内容有多大,就有多大 fill_parent:过期了和match_parent相同的。
View常用属性
android所有UI组件以及UI布局管理器的父类,基本属性是所有组件通用
android:background 设置背景色/背景图片android:clickable 是否响应点击事件android:id 给当前View设置一个当前布局中的唯一编号android:onCLick 点击时从上下文调用指定的方法android:padding 设置上下左右控件内部与控件的边距,以像素为单位填充空白。android:visibiltiy 设置是否显示View//可选填值//visible(默认,显示)//invisible(不显示,但是仍然占有空间)//gone(不显示,不占空间)
TextView文本视图
TextView是Android中用的最多的控件,显示一行或多行文本,也可以给上下左右设置图片,并且结合SpannableString和其子类可以做到图文混排。
java.lang.Object |-android.view.View |-android.widget.TextView
TextView常用属性
注意:所有试图类都直接或者间接继承于View,共享View的所有属性或方法。
android:autoLink 描述当前文本是一个超链接android:singleLine 这是一个单行文本(不允许换行)android:text 文本框中的内容android:textColor 文字颜色android:textSize 文字大小 单位spandroid:textStyle 字体样式 普通、斜体、粗体android:typeface 字体格式 外部导入ttf字体android:maxLines 最大的行数 保持自己的高度,超出max后,固定到max行android:lines 行数 保持固定的行数的高度
Button 按钮
TextView子类,和TextView完全一样,只是多一个样式
ImageView 图片
android:src 前景图片android:scaleType 缩放方式 fit不按比例拉伸android:adjustViewBounds 图片在调整大小的时候,保持X、Y的比例 height在包裹内容的时候
布局管理器 ViewGroup
ViewGroup是View的容器,里面可以放很多View和ViewGroup
XML的根元素只有一个
每一个ViewGroup都有自己的特点,决定内部的元素是如何排列的
开放中,一般不直接使用View和ViewGroup,而是使用它的之类
一般对于画线来说是,直接使用View(v是大写的)
ViewGroup.LayoutParams layout_height,layout_width;使用3个常量ViewGroup.MarginLayoutParams layout_margin 外边距,组件与其父类布局之间的距离
LienarLayout线性布局管理器
特点:所有的组件按orientation来决定水平或垂直排列。
android:orientation 设置该布局的走向LienarLayout.LayoutParamslayout_gravity 组件的对齐方式(组件对于线性布局的对齐方式)水平方向可以上下移动(垂直方向可以左右移动) layout_weight 权重(不按照尺寸排列,按照100%比例排列)水平方向(按权重改变宽度0dp)垂直方向(按权重改变高度0dp)
TableLayout表格管理器
继承于LienarLayout,使用百分比来调整宽度,高度包裹内容
每一个TableRow就是一行
特点不需要去实现宽度和高度,默认都是wrap_content,使用权重来调整宽度。
FrameLyout帧布局管理器
主要用来存放其他组件。作为Fragment的容器来使用的。布局的叠加。
特点:没有特点
AbsoluteLayout绝对布局管理器
因为不能和屏幕适配,所以被弃用
特点:所有组件都用x,y来标记左上角Layout_x,Layout_y
RelativeLayout相对布局管理器
布局中有15个特殊的方法
在父窗体居中(3个)(使用boolean值)
layout_centerHorizontal水平居中layout_centerVertical垂直居中layout_centerInParent整体居中
与父窗体对齐(4个)(使用boolean值)
layout_alignPreantLeft 左layout_alignPreantRight 右layout_alignPreantTop 上layout_alignPreantBottom 下
与其他组件对齐(4个+4个)
在其他组件的四个方向 必须要引用其他组件的id号layout_toLeftOflayout_toRightOflayout_abovelayout_below与其他组件的四个方向对齐 必须要引用其他组件的id号align_Leftalign_Topalign_Rightalign_Bottom
设置布局在界面中
在Activity(活动 界面)的onCreate方法中,使用setContentView(layout),来实例化XML中声明的所有组件。
标签
include 将另外一个布局文件,加入到当前的文件中, 布局重用。
merge 作为根布局使用的。使用include加入的时候,减少布局层次,层次不要超过4层.
findViewById
Activity,View都具有该方法,从一个Activity中或者一个View中去查找一个id号,返回一个组件。
- 当前没有设置布局,findViewById会返回一个null。
- 当前设置了布局,但是组件id却不在设置的布局中,返回一个null。
- findViewById写在设置布局的上面。
阅读全文
0 0
- Android——用户界面设计(布局)
- Android用户界面设计——关于布局的学习笔记
- Android基础,用户界面设计(布局)
- Android用户界面设计:线性布局
- Android用户界面设计:布局基础
- Android用户界面设计:线性布局
- Android用户界面设计:相对布局
- Android用户界面设计:框架布局
- Android用户界面设计:相对布局
- Android用户界面设计:布局基础
- Android用户界面——通用布局对象
- 【Android学习笔记4】用户界面(一):布局设计
- Android用户界面(二):布局
- 图形用户界面设计——CardLayout布局管理器
- Android学习笔记(一)—用户界面设计
- Android学习笔记(二)—用户界面设计
- Android用户界面(三):线性布局…
- Android用户界面与布局
- lnmp服务器配置
- React-引领未来的用户界面开发框架-读书笔记(六)
- 【脚本语言系列】关于Python基础知识对象变动,你知道的事
- messager(消息窗口) 的使用
- Homework_7
- Android——用户界面设计(布局)
- iOS socket 套接字编程
- cut
- Eclipse中使用相对路径来引用Library
- 64. Minimum Path Sum
- React-引领未来的用户界面开发框架-读书笔记(七)
- 学习Mongodb笔记(三)——文档更新中高效的修改器
- NLP简介 & 文本预处理
- the HTTP rewrite module requires the PCRE libraryh解决方法