【问题标题】:Android - need UI help/adviceAndroid - 需要 UI 帮助/建议
【发布时间】:2010-03-25 14:50:52
【问题描述】:

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

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

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

这是 HTC 通话屏幕的图片:

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

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

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

底部是一个自定义视图,其中可能包含三个自定义按钮。

我的上述假设是否正确?

那么开始编程我应该研究的部分是一个自定义标题栏和一个自定义视图,其中三个自定义按钮放置在底部?

推荐什么布局?

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

提前致谢

【问题讨论】:

  • 我会说它是相关的——即使它不是算法意义上的编程,它仍然与 Android 应用程序的开发有着内在的联系。

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


【解决方案1】:

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

【讨论】:

  • 甚至来自设备?似乎对我不起作用,它可以识别设备并且我可以单击它,但是在“Windows”面板中,我只能看到 当我单击它时没有任何反应
  • 它很粗糙,但我很确定它在我的设备上工作(肯定在模拟器上)。认为有一个加载视图层次结构按钮你必须按下下一步......实验一下:-)
  • 啊是的。对我的 nexusone(未植根)和我的 htc 英雄(植根)进行的快速测试证实了这一点。
  • 该死,我的英雄不能root,你能确认Steelbytes,hierarchyviewer实际上会给我HTC拨号器的详细信息吗?
  • 确实如此。刚刚在运行修改后的 1.5 rom(xda 论坛上的众多之一)的 htc hero 上尝试过
【解决方案2】:

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

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

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

【讨论】:

  • 无论如何我都尝试过自己创建它,如果您想关注它并帮助我解决我遇到的一些问题,我已经在 anddev.org 上设置了一个线程
【解决方案3】:

我和你一样,刚开始对 Android 开发感兴趣,但我自己对此了解不多,所以请多加注意。

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

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

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

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

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

【讨论】:

  • 无论如何我都尝试过自己创建它,如果您想关注它并帮助我解决我遇到的一些问题,我已经在 anddev.org 上设置了一个线程
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-02-10
  • 1970-01-01
  • 1970-01-01
  • 2020-06-18
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多