文档章节

android UI那点事

dominic69
 dominic69
发布于 2015/12/27 00:17
字数 1216
阅读 71
收藏 2

1,不要照搬其他平台的UI布局,应该让用户感觉是在真正的使用一个Android 软件。

2,不要使用固定的绝对定位布局。

3,不要是使用PX单位,使用dp或者为文本使用sp 不能使用太小字体

4,不要过多使用模态对话框。

5,为高分辨率的屏幕创建资源(缩小总比分大好)

6,需要点击的元素要够大

7,图标设计遵循Android的准则

8,使用适当的间距(margins,padding)

9,支持D-pad和trackball导航

10,正确管理活动(Activity)堆栈

11,正确处理屏幕方向变化

12,使用主题/样式,尺寸和颜色资源来减少多余的值

================设计理念和注意事项===================

13,干净而不过于简单,关注内容而非修饰

14,保持一致,让用户容易投入其中,附加少许变化

15,使用云端服务(存储和同步用户资料)来加强用户体验



Android中有以下4中界面布局类型:

1.FrameLayout;

2.LinearLayout;

3.RelativeLayout;

4.TableLayout;

 

FrameLayout

FrameLayout,框架布局方式,他就像预订了屏幕中的空白区域,然后向其中填充元素。FrameLayout填充的元素是从左上角开始,而且无法控制元素的位置,如果里面有多个元素,后面的元素就会被覆盖显示。

 

LinearLayout

LinearLayout,线性布局方式,它就像网页布局中的流一样。当其orieation设置为vertical,控件的排列方式是自上而下填充,当为horizontal,控件的排列方式是自左向右。LinearLayout的布局方式在应用中应用较多。

 

RelativeLayout

RelativeLayout,相对布局方式,它的布局形式是利用各个组件的相对位置来进行布局的,设置控件的参考对象和其对应的方位距离,来确定控件的位置。这种布局方式灵活多样,在布局中应用比较频繁。

下面介绍一下RelativeLayout用到的一些重要的属性:

    第一类:属性值为true或false

    android:layout_centerHrizontal                  水平居中

    android:layout_centerVertical                    垂直居中

    android:layout_centerInparent                   相对于父元素完全居中

    android:layout_alignParentBottom                贴紧父元素的下边缘

    android:layout_alignParentLeft                   贴紧父元素的左边缘

    android:layout_alignParentRight                  贴紧父元素的右边缘

    android:layout_alignParentTop                   贴紧父元素的上边缘

    android:layout_alignWithParentIfMissing          如果对应的兄弟元素找不到的

                                                话就以父元素做参照物

    第二类:属性值必须为id的引用名“@id/id-name”

    android:layout_below                          在某元素的下方

    android:layout_above                          在某元素的的上方

    android:layout_toLeftOf                        在某元素的左边

    android:layout_toRightOf                       在某元素的右边

    android:layout_alignTop               本元素的上边缘和某元素的的上边缘对齐

    android:layout_alignLeft               本元素的左边缘和某元素的的边缘对齐

    android:layout_alignBottom            本元素的下边缘和某元素的的下边缘对齐

    android:layout_alignRight             本元素的右边缘和某元素的的右边缘对齐

    第三类:属性值为具体的像素值,如30dip,40px

    android:layout_marginBottom              离某元素底边缘的距离

    android:layout_marginLeft                   离某元素左边缘的距离

    android:layout_marginRight                 离某元素右边缘的距离

    android:layout_marginTop                   离某元素上边缘的距离

 

TableLayout

TableLayout,网格布局方式,它就像网页布局中的表格布局一样,利用表格的列和组来控制元素的布局。其中利用的元素是<TableRow>代表的是一组,可以在其中包含控件,从而实现列。

 

常用的Widget组件

Android的jar中有一个Widget包,其中包含了大部分在屏幕上显示的UI 组件,如文本框,按钮,列表框,进度条,图片显示等。

在下面就简单地认识一下其组件,在开发中可以查SDK文档来进行学习。

1.Button 按钮

2.ImageButton 可以自定义图片样式的按钮

3.ImageView 显示图片的一个组件

4.TextView 文本显示框

5.CheckBox 多项选择框

6.RadioGroup RadioButon 单项选择

7.Spinner 下拉列表

8.AutoCompleteTextView 自动完成文本,有点类似下拉列表

9.DatePicker 日期选择器

10.TimePicker 时间选择器

11.ScrollView 滚动视图

12.ProgressBar 进度条

13.SeekBar 拖动条

14.RatingBar 评分组件

15.ImageSwitcher Gallery 切换图片

16.GridView 网格视图

17.Tab 标签,实现多标签栏显示样式

18.Menu 菜单,其功能强大,要深入学习

19.ListView 列表

20.Dialog 对话框

21.Toast Notification 提示框和对话框功能类似

蓝色字体的组件在以后中会进行总结,因为其比较复杂,包含的知识内容比较多,在以后会有专题来进行总结。

© 著作权归作者所有

dominic69
粉丝 5
博文 27
码字总数 20080
作品 0
浦东
程序员
私信 提问
关于微信的那点帖。。。。。。(各种实例)

照惯例发帖先吐槽一下:最近看到大家发防微信功能特别的多,所以就汇总了一下,看看大家还有什么其他方面的汇总需求,回复我噢,均可满足。。。。。 (ps:有些帖子由于主观、客观还有神马原因...

程序袁_绪龙
2015/04/01
0
0
Android开发——09Google I/O之让Android UI性能更高效(1)

一、前言 前几天发现09年Google IO大会关于移动应用方面的主题有一些不错的PPT,对移动应用开发很有帮助。自己看了一些,边看边和大家分享。既然是PPT就很简化了,我会根据实际情况写一些Dem...

zhouw
2014/03/23
0
0
android基础知识02——线程安全1:定义及例子

android的UI操作不是线程安全的,同时也只有主线程才能够操作UI,同时主线程对于UI操作有一定的时间限制(最长5秒)。为了能够做一些比较耗时的操作(比如下载、打开大文件等),android提供...

迷途d书童
2012/03/23
793
0
Android Adapter详解

Android Adapter Adapter是用来帮助填充数据的中间桥梁,比如通过它将数据填充到ListView, GridView, Gallery.而android 提供了几种Adapter:ArrayAdapter, BaseAdapter, CursorAdapter, Hea...

小近
2014/12/17
139
0
【翻译】安卓架构组件(3)-处理生命周期

相关文章: 【翻译】安卓架构组件(1)-App架构指导 【翻译】安卓架构组件(2)-添加组件到你的项目中 【翻译】安卓架构组件(4)-LiveData 【翻译】安卓架构组件(5)-ViewModel 【翻译】安卓架构组...

Chuckiefan
2017/06/07
0
0

没有更多内容

加载失败,请刷新页面

加载更多

动态代理知识详解

动态代理实现的两种方式 给动态代理举个栗子:例如我们平时买笔记本电脑,很多时候都是不从厂家拿货,而是通过经销商买电脑。代理模式出现解决了生产厂家的一些问题,那么这个这个思想在我们...

我叫小糖主
20分钟前
4
0
Calendar TimeZone SimpleDateFormat

关于Calendar类的使用可参考:Java Calendar类的使用总结 获取日历(Calendar):java.util.Calendar#getInstance() 获取时区TimeZone: TimeZone.getTimeZone("GMT+00:00"); 或:TimeZone.ge......

Hzhodor
21分钟前
0
0
这 17 个 JVM 参数,高级 Java 必须掌握

前言 大家都知道,jvm在启动的时候,会执行默认的一些参数。一般情况下,这些设置的默认参数应对一些平常的项目也够用了。但是如果项目特别大了,需要增加一下堆内存的大小、或者是系统老是莫...

编程SHA
27分钟前
0
0
jenkins配置自动发送邮件

1.开通QQ的SMTP服务,需要发一条短信,qq会给你一个密码(不是你的QQ邮箱密码哦) 2.安装 Email Extension Plugin 插件 3.进入系统管理--系统设置 3.1按照如下图设置 首先找到 Extended E-m...

shzwork
31分钟前
0
0
网络请求异常拦截优化

目录介绍 01.网络请求异常分类 02.开发中注意问题 03.原始的处理方式 04.如何减少代码耦合性 05.异常统一处理步骤 06.完成版代码展示 好消息 博客笔记大汇总【16年3月到至今】,包括Java基础...

潇湘剑雨
36分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部