Android - 需要UI帮助/建议

时间:2010-03-25 14:50:53

标签: xml android layout user-interface custom-component

过去几个月我一直在使用Android来了解各种组件的工作原理。

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

作为一种练习,我被要求将HTC呼叫屏幕分解为它包含的组件,并尽可能地重建。

以下是HTC呼叫屏幕的图片:

HTC Dialer http://img688.imageshack.us/img688/7663/incall.png

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

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

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

我在上述假设中是否正确?

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

建议采用什么布局?

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

提前致谢

3 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分:1)

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

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

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

答案 2 :(得分:0)

我,就像你自己一样,刚开始对Android开发感兴趣,而且我自己也不太了解它,所以拿一两粒盐就可以了。

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

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

它包含了安装eclipse并使用android SDK所需了解的所有内容。

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

对于像我这样的初学者来说,这是我能想到的最好的方式,让我们了解布局如何在android中运行。