代码之家  ›  专栏  ›  技术社区  ›  Donal Rafferty

Android-需要用户界面帮助/建议

  •  0
  • Donal Rafferty  · 技术社区  · 15 年前

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

    我完全不了解的一个领域是任何类型的用户界面或图形界面的创建。

    作为练习,我被要求将HTC调用屏幕分解为包含哪些组件,并尽可能地重新构建。

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

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

    根据我的理解,上面的UI有一个自定义的标题栏,其中“流星”和调用时间出现。

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

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

    我的上述假设是否正确?

    因此,我应该关注的部分是一个自定义标题栏和一个自定义视图,底部有三个自定义按钮?

    建议采用什么布局?

    我希望这个问题是相对于堆栈溢出的,如果不是,那么我将删除它。

    提前谢谢

    3 回复  |  直到 15 年前
        1
  •  3
  •   SteelBytes    15 年前

    使用c:\program files\android sdk\tools\hierarchyviewer.bat,您可以查看程序上的屏幕是如何创建的。

        2
  •  1
  •   Steve Haley    15 年前

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

    1)机器人在文本下的反射方式可能与lunarlander示例应用程序的反射方式类似。那个游戏有一个绘图画布,在屏幕中间有一个浮动的文本视图来显示文本。它使用一个框架布局,其中包含一个自定义视图(扩展SurfaceView并保存图形的图形)和一个相对布局,而相对布局又具有一个文本视图。技巧是,自定义的绘图视图和relativelayout都设置为填充父视图,但relativelayout的文本视图将绘制在绘图视图的顶部。我想你必须做一些类似的事情,因为绘制拨号联系人图像的反射可能需要某种画布,因为它必须能够以编程方式生成反射。

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

        3
  •  0
  •   Dale    15 年前

    我和你一样,对Android的开发也很感兴趣,我自己也不太了解,所以拿这个来吃一两粒盐吧。

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

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

    它包含安装Eclipse和使用Android SDK所需的所有信息。

    Android SDK有一个包含示例应用程序的包。您可以将这些示例导入Eclipse,然后检查布局编辑器以查看它们做了什么。然而,并不是所有的布局组件都能在Eclipse的编辑器中工作,所以在Android虚拟设备中运行该程序可能是必要的,以了解该应用程序从什么开始看起来像什么。

    对于像你和我这样的初学者来说,这是了解Android中布局如何工作的最好方法。