Android入门:It's All About UI(2)

 继续谈UI。话说我上次写到了几种常见的布局方式和按钮,按照原计划,这次本来应该继续讲讲其他的组件。可是我现在不打算这样讲了,一来,强大的Android拥有各种各样的UI组件,如果我一一去分析,实在是费时费力,估计一时半会写不完;第二,我觉得目前同志们在UI方面的了解都比我多,如果我再讲这些组件的基本功能和实现方法,相信也不能让大家有什么收获。所以,我决定在这篇文章中,以一个例子贯穿全文,讲讲制作一个界面的基本流程。大家可以当故事听哈^ ^

我要讲的这个例子是一个我们导航软件的一个搜索界面,它先让用户选择搜索项目(餐厅/厕所/商店),然后将搜索结果以列表形式显示出来。

一.准备好各种图片&数据资源

将这个需要的图片文件放置在drawable目录下,以后写代码时通过R.drawble对其进行引用。

在现在的Android版本中,有三个layout文件夹,为什么一个不够要三个捏?因为大家的手机型号各不一样,不同的手机屏幕适合不同分辨率的图片。hdpi,mdpi,ldpi代表高,中,低三种分辨率。在兼容性好的软件中,设计者会把相同内容不同分辨率的图片放到相应的三个文件夹中。

二.设计整个屏幕的布局

布局应该是根据界面内容实际功能来进行设计的,在这个搜索界面中,我们需要给用户提供选项,需要列表显示信息,所以我的界面的主要元件是一个Spinner和一个Listview,而它们是通过一个竖直的LinearLayout整合在一起的。

实际上这个界面是两个LinearLayout嵌套而成的,因为Spinner的右边还有一个ImageButton,所以我把这两个组件一起放在一个水平的LinearLayout中,再把这个LinearLayout放在大的竖直LinearLayout中。

然后再对每个元件进行具体设计,在XML文件中确定其各种属性。

在我这个界面中,对ListView的单个item也做了个性化的设计,另外用了一个XML文件(名为fooditem.xml)实现这个item的布局。

  

三.完成Java文件

布局已经通过XML文件实现了,所以Java文件中的代码是很少的。

最关键的一句是setContentView(R.layout.main);

它将布局文件和Java文件关联起来。

另外,这个Java文件中还通过ArrayList为ListView提供数据,然后用ArrayAdapter将数据和装数据的容器关联起来。

由于数据较少,数据的存储用到的不是,而是Hashmap,它实现了键值对应的快速存取。

这样一来,一个界面的布局就完成了。

但是,它还仅仅是一个界面,没有为各种元件添加监听器等相应装置,列表中数据也都是虚拟的,这些功能还需继续完善。

欢迎大家提各种意见建议,我最喜欢听批评了,哈哈~

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值