安卓常用布局控件、监听器总结 - 肖进炎 - 博客园
随笔- 43 文章- 0 评论- 2
</div><!--end: blogStats -->
</div><!--end: navigator 博客导航栏 -->
安卓常用布局控件、监听器总结
来源于http://blog.csdn.net/u013901909/article/details/50051615
布局管理器 | 名称 | 作用 | 要点 | 特点 | 总结 | 备注 |
LinearLayout | 线性布局 | 控制组件 横向 或者 纵向 排列 | android:layout_gravity 是控制组件本身的对齐方式, android:gravity是控制本容器子组件的对齐方式; | 适用性强 | 傻瓜式的依次顺序布局 | |
RelativeLayout | 相对布局 | 子组件的位置总是相对兄弟组件,父容器来决定的 | (1) 只能设置boolean值的属性,(2) 只能设置其它组件id的属性 | 任意性强 | 根据参照对象来确定自己的位置 | |
FrameLayout | 帧布局、框架布局 | 创建一个空白区域, 一个区域成为一帧 | 帧布局就帧里的控件(层)的叠加 | 后遮前 | 控件之上再放控件 | |
TableLayout | 表格布局 | 采用 行, 列 形式管理子组件,添加TableRow 和 组件 就可以控制表格的行数和列数 | 继承了LinearLayout, 其本质是线性布局管理器 | 可控性 | 用TableRow来控制表格行 | |
GridLayout | 网格布局 | 设置行列来装填控件 | android:rowCount设置行,android:columnCount设置列。 | 强对称性 | 预先设置出行列数来占据界面 | |
AbsoluteLayout | 绝对布局 | 组件位置通过x, y坐标来控制, 布局容器不再管理组件位置, 大小, 这些都可以自定义; | 不能适配不同的分辨率, 屏幕大小 | 独一性 | 过气布局,通过坐标控制 | |
控件单位 | 名称 | 控制大小 | ||||
px | 像素 | 每个px对应屏幕上的一个点; | ||||
dip/dp | 独立像素 | 英寸160点的显示器上 1dp = 1px, 屏幕密度改变, dp 与 px 换算会发生改变; | ||||
sp | 比例像素 | 处理字体的大小, 可以根据用户字体大小进行缩放; | ||||
in | 英寸 | 标准长度单位 | ||||
mm | 毫米 | 标准长度单位 | ||||
pt | 磅 | 标准长度单位, 1/72英寸; | ||||
常用控件 | 名称 | 控件描述 | 监听器 | |||
TextView | 文本框 | 显示文本 | ||||
EditText | 编辑框 | 输入文本 | ||||
Button | 按钮 | 显现的与用户交互 | setOnKeyListener | |||
ImageButton | 图片按钮 | 图片显示的用户交互 | ||||
CheckBox | 复选框 | 多项选择 | setOnCheckedChangeListener | |||
RadioGroup、RadioButton | 单选框 | 单项选择 | setOnCheckedChangeListener | |||
Toast | 提示 | 提示用户并显示 | ||||
Spinner | 下拉列表 | 下拉显示 | setOnItemSelectedListener | |||
ListView | 列表 | 界面列表显示 | setOnItemClickListener | |||
TabHost | 标签页 | 显示多个标签,可用于切换界面 | ||||
Menu | 菜单 | 不占用界面控件,点击菜单键即显示 | ||||
AutoCompleteTextView | 自动提示 | 自动提示输入文本框 | ||||
DatePicker | 日期选择器 | 用于选择年月日 | ||||
TimePicker | 时间选择器 | 用于选择时间 | ||||
Dialog | 对话框 | 用于小界面的用户交互 | setOnClickListener | |||
ImageView | 图片视图 | 显示任意图像,进行图片的处理 | ||||
Gallery | 拖动效果 | 是一个锁定中心条目并且拥有水平滚动列表的视图 | ||||
ImageSwitcher | 切换图片 | 控制图片展示效果的一个控件 | ||||
GridView | 网络视图 | 在平面上可显示多个条目的可滚动的视图组件 | ||||
ScrollView | 卷轴视图 | 一种可供用户滚动的层次结构布局容器 | ||||
ProgressBar | 进度条 | 显示进度 | ||||
SeekBar | 拖动条 | 在ProgressBar基础上增加了一个可滑动的滑片 | ||||
RatingBar | 评分条 | 用星型来显示等级评定 | ||||
ProgressDialog | 对话框中的进度条 | 将进度条加入到对话框 | ||||
Notification、NotificationManager | 状态栏提示 | 手机的顶部状态栏会出现一个小图标,提示用户有没有处理的快讯 | ||||
AnalogClock | 模拟时钟 | 显示模拟时钟 | ||||
DigitalClock | 数字时钟 | 显示数字时钟 | ||||
Chronometer | 计数器 | 计数时间 | ||||
监听器 | 名称 | 监听事件 | ||||
setOnClickListener | 常用注册监听器 | 注册监听点击事件,有点击就调用onClick函数 | ||||
setOnKeyListener | Button监听 | 监听按键的各种事件(按下,弹起,保持,多次按键) | ||||
setOnCheckedChangeListener | CheckBox监听 | 有点击事件调用onCheckedChanged函数 | ||||
setOnItemSelectedListener | Spinner监听 | 鼠标获得一个条目的焦点 | ||||
setOnItemClickListener | ListView监听 | onItemClick | ||||
setonDateChangedListener | DatePicker监听 | 日期改变的事件监听 | ||||
setOnTimeChangedListener | TimePicker监听 | 监听一天中时间的视图 | ||||
setOnClickListener | ImageView监听 | 监听点击图片信息 | ||||
setOnClickListener | Button监听1 | 普通按钮部件的监听 | ||||
setOnItemClickListener | GridView监听 | 可滚动的视图组件监听 | ||||
setOnCheckedChangeListener | RadioGroup监听 | 单选按钮监听 | ||||
setOnDrawerOpen(Close)Listener | SlidingDrawer监听 | 滑动式抽屉监听 | ||||
setOnRatingBarChangeListener | RatingBar监听 | 星型等级评定监听 | ||||
setOnChronometerTickListener | Chronometer监听器 | 计数器监听 | ||||
setOnTouchListenter | OnTouch监听器 | 监听鼠标点击位置 | ||||
setOnItemSelectedListener | Gallery监听器 | 鼠标获得一个条目的焦点 | ||||
ANDROID XML关键字 | 作用 | |||||
selector | 用来改变ListView和Button控件的默认背景 | |||||
String name | 用于关联特点的键与值 | |||||
shape | 定义控件的一些显示属性 | |||||
item | 表示一项内容,仅是一个标记作用,好比ComboBox的选项一样,下拉列表一行就表示一项 | |||||
solid | 设置背景色 | |||||
stroke | 设置边框 | |||||
corners | 指定圆角矩形的半径 | |||||
gradient | 指定使用渐变背景 | |||||
attr.xml | Android 中自定义控件和属性(attr.xml,declare-styleable,TypedArray)的方法和使用 | |||||
declare-styleable | ||||||
TypedArray |
</div>
<div class = "postDesc">posted @ <span id="post-date">2016-12-18 21:55</span> <a href='http://www.cnblogs.com/896240130Master/'>肖进炎</a> 阅读(<span id="post_view_count">...</span>) 评论(<span id="post_comment_count">...</span>) <a href ="https://i.cnblogs.com/EditPosts.aspx?postid=6195708" rel="nofollow">编辑</a> <a href="#" onclick="AddToWz(6195708);return false;">收藏</a></div>
</div>
<script type="text/javascript">var allowComments=true,cb_blogId=316976,cb_entryId=6195708,cb_blogApp=currentBlogApp,cb_blogUserGuid='40bd2c9d-d9aa-e611-845c-ac853d9f53ac',cb_entryCreatedDate='2016/12/18 21:55:00';loadViewCount(cb_entryId);</script>
刷新评论
刷新页面
返回顶部
fixPostBody(); setTimeout(function () { incrementViewCount(cb_entryId); }, 50); deliverAdT2(); deliverAdC1(); deliverAdC2(); loadNewsAndKb(); loadBlogSignature(); LoadPostInfoBlock(cb_blogId, cb_entryId, cb_blogApp, cb_blogUserGuid); GetPrevNextPost(cb_entryId, cb_blogId, cb_entryCreatedDate); loadOptUnderPost(); GetHistoryToday(cb_blogId, cb_blogApp, cb_entryCreatedDate);
</div><!--end: forFlow -->
</div><!--end: mainContent 主体内容容器-->
<div id="sideBar">
<div id="sideBarMain">
公告
<div id="calendar"><div id="blog-calendar" style="display:none"></div><script type="text/javascript">loadBlogDefaultCalendar();</script></div>
<DIV id="leftcontentcontainer">
<div id="blog-sidecolumn"></div><script type="text/javascript">loadBlogSideColumn();</script>
</DIV>
</div><!--end: sideBarMain -->
</div><!--end: sideBar 侧边栏容器 -->
<div class="clear"></div>
</div><!--end: main -->
<div class="clear"></div>
<div id="footer">
Copyright ©2017 肖进炎