【问题标题】:How to make proportional layouts in android?如何在android中制作比例布局?
【发布时间】:2015-03-02 22:15:45
【问题描述】:

我有一个需要在我的应用程序中遵循的设计。其中有几个按钮、图像和文本视图放置在整个屏幕上(一些向左对齐,一些向右对齐,一些居中等)。我需要做的是让所有这些元素完全按照它们在设计图像中的样子出现。问题是,如果我尝试使用 dp 执行此操作,它可能比设计图像指定的更宽或更窄,这取决于屏幕的属性。 (我有一个应用程序,我在 dp 中完成了所有操作,并且在我的高分辨率手机上完美运行,但在我朋友的旧手机上,它切断了活动的边缘)

我的问题是,我为此使用了哪些元素?我听说过在线性布局中使用权重,但是如何使项目具有不同的宽度和高度,并将它们全部放置在屏幕上我认为合适的位置?如何确保它在所有屏幕尺寸上看起来都完全相同?

提前致谢! :)

编辑:

关键是,我需要按钮与屏幕上的一样(这将是一个 listview 元素,我正在尝试为它制作一个 xml)。距离,比例,一切,它需要缩放到屏幕的宽度,并且是这个大小和分布。而且,我不只是在寻找解决这个特定问题的方法,我想学习如何做一般...

【问题讨论】:

  • 我认为在你的情况下使用重量是一个很好的解决方案,你能发布一个你设计的小方案吗?
  • 添加了一个例子。这是图片
  • 您可以使用相对布局。如果你没有时间……你应该使用 webView,但这不是一个好主意,也不是传统的。请给我们您的代码。
  • 此应用还没有任何代码。我现在才开始。我使用了相对布局,但我认为使所有内容都与相对布局完美成比例根本不是一种选择......

标签: android xml layout screen-size


【解决方案1】:

你没有。对于非常大和非常小的屏幕,您可以使用单独的布局来缩放尺寸,完全删除部分 UI,或者以不同的方式进行布局。认为你可以在 10 英寸平板电脑和 3.5 英寸手机上安装所有东西是绝对愚蠢的。如果你的设计师希望这样,告诉他他是个白痴,他需要回去工作。

有关最佳布局方式的更一般性答案 - 这取决于您想要获得的效果。你永远不应该使用像素计数,并且 dp 应该只用于小事情——两个字段之间的一点填充。大多数事情应该通过布局来完成,或者通过使用线性布局并在行/列中获取内容,或者通过 RelativeLayout 并描述如何相对于它们的兄弟姐妹布局视图。但即使使用这些工具,您也无法适应所有屏幕并且看起来不错。

【讨论】:

    猜你喜欢
    • 2021-08-17
    • 2014-11-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-04
    • 1970-01-01
    相关资源
    最近更新 更多