6 图形用户界面 (GUI)
当Android被发明时,它的设计师面临许多选择,其结果将决定他们的项目的成功或失败。一旦他们拒绝了所有其他智能手机操作系统,包括关闭和开源,并决定在Linux内核上构建自己的操作系统,他们面临着一些空白的画布。一个重要的选择是使用哪种编程语言;他们明智地选择了Java。但是一旦做出了选择,就可以选择部署用户界面技术:Java ME,Swing,SWT或上述任何一种。
JavaME是Java Micro Edition,Sun / Oracle的官方标准API,用于手机和其他小型设备。 Java ME曾经是一个相当大的成功案例:数以千万计的手机里面有一个Java Micro Edition运行时。自2000年左右以来,每个黑莓手机,以及世界上所有的BlackBerry智能手机应用程序(包括但不包括BlackBerry OS 10)都基于Java ME。但是Java ME GUI被Android团队视为太限制了,因为它被设计用于手机具有非常小的屏幕和有限功能的日子。
Swing是Java标准版(Desktop Java,Java SE,a.k.a. JDK或JRE)GUI。它基于Java的早期小部件工具包(AWT)。它可以使一些美丽的GUI音乐在右手,但是太大,使用太多的开销Android。
SWT是开发用于Eclipse IDE本身和Eclipse富客户端中的GUI层。它是一个抽象层,并且取决于底层操作系统特定的工具包(例如,Microsoft领域中的Win32,Unix / Linux下的GTK等)。
最后的选择,和最终选择的,是单独去。 Android设计师因此构建了专为智能手机设计的GUI工具包。但他们从其他工具包中获得了许多好的想法,并从一路走来的错误中学到了。
要学习任何新的GUI框架,必然,很多工作。使您的应用在该UI的应用程序社区中运行更加出色。认识到这一点,Google已经设置了Android设计网站。另一套可以帮助的指南是Android模式网站,它不是关于编码,而是显示设计师如何Android视觉体验应该工作。插图,群众来源和推荐!
术语警告的一个词:术语“小部件”有两个不同的含义。所有GUI控件,如按钮,标签等都是小部件,并显示在android.widget包中。这个包还包含“布局容器”(ViewGroup子类),它们更像是Swing中的JPanel和LayoutManager的组合。简单的小部件和布局是从View的子类,所以它们通常被称为视图。另一种类型的小部件可以出现在Android主屏幕上;这些现在称为“应用程序小部件”,以区别于它们与基本的,并在自己的包android.appwidget。
这种类型的微件通常用于诸如新闻,天气,朋友/社交流等的状态显示。我们有一个食谱在应用程序小部件(食谱6.32),在本章结尾。虽然我们会尝试正确地使用widget和应用程序窗口部件,但有时需要从上下文中推断出意思是什么意思。
本章介绍Android中的主要GUI元素。以下章节介绍了“设备中出现问题的地方”:菜单,对话框,吐司和通知。
后面的一个处理列表视图的所有重要的主题(ListView和RecyclerView)。
Logo

更多推荐