0

在过去的几个月里,我一直在研究 Android,以了解各种组件的工作原理。

我完全缺乏知识的一个领域是任何类型的用户界面或图形界面创建。

作为练习,我被要求将 HTC 通话屏幕分解为它包含的组件并尽可能接近地重建。

这是HTC通话屏幕的图片:

HTC 拨号器 http://img688.imageshack.us/img688/7663/incall.png

据我了解,上面的 UI 有一个自定义标题栏,其中显示“Meteor”和通话时间。

然后是中间块中的主图像以及显示被叫方的文本视图,在本例中为“语音邮件”和号码。

然后底部是一个自定义视图,其中可能使用了三个自定义按钮。

我的上述假设是否正确?

所以我应该研究开始编程的部分是一个自定义标题栏和一个自定义视图,底部有三个自定义按钮?

什么布局会被推荐?

我希望这个问题被视为与 Stack Overflow 相关,如果不是,我将删除它。

提前致谢

4

3 回答 3

3

使用 c:\Program Files\Android SDK\tools\hierarchyviewer.bat 您可以查看程序屏幕的创建方式

于 2010-03-25T14:55:02.317 回答
1

我一直在查看该布局并改变了几次想法,但我认为这就是它的完成方式。免责声明:我没有尝试过使用steelbytes的方法,所以我可能完全错了!

1) 文本下机器人的反射可能与 LunarLander 示例应用程序类似。该游戏有一个绘图画布,屏幕中间有一个浮动的 TextView 来显示文本。它使用一个 FrameLayout,其中包含一个自定义 View(它扩展 SurfaceView 并保存图形的绘制)和一个 RelativeLayout,后者又具有一个 TextView。诀窍是自定义绘图视图和RelativeLayout 都设置为fill_parent,但RelativeLayout 的TextView 被绘制在绘图视图之上。我想你必须做类似的事情,因为绘制拨号联系人图像的反射可能需要某种 Canvas,因为它必须能够以编程方式生成反射。

2)底部的按钮列表可能不是自定义视图,但它看起来很巧妙。我认为这只是一个简单的水平线性布局,带有渐变色背景,里面有 3 个按钮。巧妙的部分是用于按钮的艺术品的选择;为了在按钮栏看起来像是被切割的地方,他们使用了精心绘制的背景图像,边缘有阴影。这样看起来按钮栏上有三个用于按钮的孔,但按钮只是像其他按钮一样绘制在它上面。

于 2010-03-25T15:25:34.470 回答
0

我和你自己一样,刚刚对为 Android 开发感兴趣,对它了解不多,我自己,所以用一两粒盐来看待它。

如果您想了解布局的工作原理,可以免费下载一个名为 Eclipse 的编程环境。它有一种表单设计器/布局编辑器,你可以使用它来显示你的布局是什么样子,一个树视图显示你的布局是如何嵌套的,你可以查看用于创建它的原始 XML。

这是一个安装指南:http: //developer.android.com/sdk/eclipse-adt.html#installing

它包含安装 eclipse 和使用 android SDK 所需知道的一切。

Android SDK 有一个包含示例应用程序的包。您可以将这些示例导入 eclipse,然后检查布局编辑器以查看它们的作用。但是,并非所有布局组件似乎都可以在 eclipse 的编辑器中运行,因此可能需要在 android 虚拟设备中运行该程序,以查看应用程序开始时的样子。

对于像你我这样的初学者来说,这是我能想到的了解布局如何在 android 中工作的最佳方式。

于 2010-03-25T19:42:55.843 回答