Android——用户界面设计(布局)
2017-07-24 12:28
204 查看
布局文件所在的位置
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 文字大小 单位sp android: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和ViewGroupXML的根元素只有一个
每一个ViewGroup都有自己的特点,决定内部的元素是如何排列的
开放中,一般不直接使用View和ViewGroup,而是使用它的之类
一般对于画线来说是,直接使用View(v是大写的)
ViewGroup.LayoutParams layout_height,layout_width;使用3个常量 ViewGroup.MarginLayoutParams layout_margin 外边距,组件与其父类布局之间的距离
LienarLayout线性布局管理器
特点:所有的组件按orientation来决定水平或垂直排列。
android:orientation 设置该布局的走向 LienarLayout.LayoutParams layout_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_toLeftOf layout_toRightOf layout_above layout_below 与其他组件的四个方向对齐 必须要引用其他组件的id号 align_Left align_Top align_Right align_Bottom
设置布局在界面中
在Activity(活动 界面)的onCreate方法中,使用setContentView(layout),来实例化XML中声明的所有组件。标签
include 将另外一个布局文件,加入到当前的文件中, 布局重用。merge 作为根布局使用的。使用include加入的时候,减少布局层次,层次不要超过4层.
findViewById
Activity,View都具有该方法,从一个Activity中或者一个View中去查找一个id号,返回一个组件。当前没有设置布局,findViewById会返回一个null。
当前设置了布局,但是组件id却不在设置的布局中,返回一个null。
findViewById写在设置布局的上面。
4000
相关文章推荐
- Android用户界面设计“.NET研究”:框架布局
- Android用户界面设计:框架布局
- Android用户界面设计:框架布局
- Android用户界面设计:相对布局
- Android用户界面设计:线性布局
- Android用户界面设计:线性布局“.NET研究”
- Android用户界面设计:线性布局
- Android用户界面设计:布局基础
- Android用户界面设计:框架布局
- Android用户界面设计:线性布局
- Android用户界面设计——关于布局的学习笔记
- Android用户界面设计:布局基础
- Android用户界面设计:框架布局(转)
- 【Android开发】用户界面设计-使用XML布局文件控制UI界面
- Android基础,用户界面设计(布局)
- Android用户界面设计:线性布局
- Android用户界面设计:布局基础
- Android用户界面设计:相对布局
- android官方技术文档翻译——设计时布局属性
- android线性布局之计算器界面设计