【问题标题】:Android UI Design SuggestionAndroid UI设计建议
【发布时间】:2012-01-31 14:02:51
【问题描述】:

这是场景:

我在一项活动上设置了一个图像背景。在此背景上,绘制了一个矩形(换句话说,一个描绘矩形的图像)。我需要在这个矩形内显​​示文本。

现在,我想到了一个解决方案:因为我要优化大多数屏幕(包括平板电脑)的 UI,我要为每个屏幕尺寸定制主 .xml 布局(多个 .xml布局)。因此,我可以手动设置文本区域在矩形内的位置(+ 其大小)。

我很确定这个解决方案不好。我想听听更高级的开发人员的一些建议。在显示矩形的背景图像上放置文本以使文本保持在矩形边框内的优雅方式是什么?

因为我需要为其他 UI 元素(居中按钮(垂直/水平)设置特定位置,所以我目前使用的是相对布局。

【问题讨论】:

    标签: java android xml layout user-interface


    【解决方案1】:

    默认情况下,如果您使用 dp 作为维度度量,那么您的应用理论上应该可以在所有分辨率下正常工作。默认情况下,Android 会缩放屏幕以适应不同的屏幕。 AndroidDeveloper 你只需要确保你有不同的资源图像(矩形图像)。 SO中有另一篇文章,您可能有兴趣查看link

    干杯 里奇

    【讨论】:

    • 所以,基本上,原始图像中 100x100 的像素等于设备屏幕上 100x100 dp 的像素?
    • 或者,如果矩形位于原图左侧100像素处,而我在Activity中将文本区域的左边距设置为100dp,那么文本区域将始终从矩形的位置?
    • Density-independent Pixels(dip or dp) - 一个基于屏幕物理密度的抽象单位。这些单位与 160 dpi 屏幕相关,因此 1 dp 是 160 dpi 屏幕上的一个像素。 dp与像素的比例会随着屏幕密度的变化而变化,但不一定成正比。
    • 还是一头雾水。只是抛出一个简单的答案。你有这个图像:bartelme.at/material/organicdesktops/desktop_01.png。您将其设置为 XML 布局中的背景。您希望将文本区域放置在蓝色矩形的边框内,并拉伸直到它遇到蓝色矩形的边框。如何保持文本区域的大小和位置与蓝色矩形相同,并且在所有显示器上仍然提供相同的布局质量?
    • OK..首先您必须将每种分辨率的 1 张图像放入 hdpi、mdpi 和 ldpi 图像文件夹。然后您所要做的就是对齐/拉伸文本区域以满足您的需求(确保您在 dp 而不是 px 中进行调整)。理论上(根据 android 开发者文档),这将在所有不同分辨率的设备中以相同的方式呈现。
    猜你喜欢
    • 1970-01-01
    • 2011-02-10
    • 2013-10-31
    • 2012-10-31
    • 2011-10-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多