在Android应用中实现设计的最佳方法是什么?

3

我目前正在为一家公司开发一款Android应用程序,他们坚持采用这种设计并针对高清设备进行定位,但我发现这很难做到,并且在某些高清设备上按钮会开始拉伸。

屏幕设计在这里:https://skitch.com/aaronwardle/r7kwa/screen

一些人建议将按钮制作成Nine Patch PNG文件,这有助于适应各种屏幕布局。

我应该尝试为这个项目获取一个新的应用程序设计,以使用标准控件适配所有屏幕,还是您认为这是可行的?

从统计数据来看,最常见的设备是小屏幕设备,因此创建此应用程序可能受到限制的观众。

如果有人对我能做什么有任何指导,例如我是否可以为高分辨率屏幕制作此应用程序,并在应用程序内为较小的屏幕使用不同的布局?

谢谢Aaron!

3个回答

2
您的问题太泛泛了,无法给出简单快速的答案。此外,您想要创建的布局非常复杂,看起来与原生界面差异很大,这使得事情变得更加复杂。请确保阅读并理解来自此处的官方文档。没有替代品...

从该文档中涉及到的主要点有:

  1. <supports-screens>清单项
  2. 用于屏幕大小和密度的资源目录限定符。附加诸如-small-portrait之类的内容可让您创建仅在特定屏幕纵横比、大小或DPI上加载的资源。例如,您可以为更大的屏幕创建更大的图像,或者更改纵向或横向的布局XML。
  3. 使用9-patch图像扩展矩形(按钮)。

谷歌推荐的最佳实践:

  1. 使用wrap_content、fill_parent或dp单位,而不是绝对像素
  2. 避免使用AbsoluteLayout
  3. 不要在代码中使用硬编码像素值
  4. 使用特定于密度和/或大小的资源

我知道我的答案有点泛泛,但您的问题也是如此...


感谢您的回复,您说得对,我的问题太模糊了。我将仔细阅读文档,并在示例项目中尝试9-patch图像。在Android应用程序中,键盘始终显示在大屏幕上不是很常见吗?如果您能给我一些指针,告诉我哪些不是标准的,那就太好了。 - MonkeyBlue

0

你需要使用9-patch PNG,并且还要对清单文件进行一些更改,以使其屏幕分辨率自适应。这些清单文件中的更改非常少,所以不会带来任何麻烦。


感谢您的快速回复,那么如果我创建9个patch png文件,您认为上面链接的设计是否可行?我尝试制作了一个数字按钮9 patch,但似乎不太起作用,我猜测需要从按钮中删除文本,并通过布局/代码添加。 - MonkeyBlue
仅使用png是不够的,您需要根据需要制作适当的xml。首先专注于在模拟器中使其适用于任何屏幕,稍后只需对清单文件和png按钮进行轻微更改即可实现屏幕分辨率独立。如果您在获取特定期望结果方面遇到任何问题,请告诉我。 - Shaista Naaz

0

您可以使用9 patch图像来设计适用于不同分辨率的应用程序,您可以为横向和纵向创建不同的布局。


谢谢您的回复,那么我可以例如在高分辨率屏幕设备上使用此布局,然后为低分辨率屏幕提供不同的布局,在那里例如键盘弹出到视图中而不是一直存在? - MonkeyBlue
你可以通过将布局放置在layout-hdpi、layout-mdpi和layout-ldpi中来实现这一点。 - Nishant Shah

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接