Android 应用程序布局 - LinearLayout、TableLayout 和 RelativeLayout 呃?

标签 android layout android-linearlayout android-relativelayout tablelayout

我一直在寻找设计 Android UI 的最佳实践。虽然有很多关于编写实际代码的信息,但很少有关于为 Android 进行高级 xml 设计的教程。如果您知道任何教程,请在此处链接它们。

我目前发现自己使用 TableLayout 实现一些更复杂的 UI 布局并取得了不错的效果。我喜欢这样,我不需要为 TableLayout 提供任何固定的宽度或高度值,但是,我不得不使用奇怪的变通方法,比如在两个按钮之间留空来创建一个假的第 3 列,诸如此类。

我知道肯定有比使用表格和伪造的 RelativeLayouts 作为间隔符更好的方法,有人可以解释一下 RelativeLayouts 如何在不同的设备上工作。例如,如果您有一个 LDPI 设备,它会因为宽度和高度像素较少而以不同方式显示您的 UI 吗?如果您使用 480px(hdpi 标准宽度)作为宽度属性并且您的 UI 显示在 LDPI 设备上怎么办?它会溢出屏幕吗?

我的表格和垫片技巧非常有效,几乎足以坚持使用它,但是,我想正确设计我的 UI,以便它适用于尽可能多的设备!请给我指明正确的方向,干杯!

最佳答案

RelativeLayout 是一个很好的方法。如果您使用 dp 设置 View 的距离和大小,则 dp 中的这些距离将被视为 MDPI 屏幕上的像素,并且它们将被缩放,以便您的布局在 LDPI 和 HDPI 屏幕上平均填充空间。安卓开发者tutorial在 View 上有一个关于 RelativeLayouts 的很好的部分。

关于Android 应用程序布局 - LinearLayout、TableLayout 和 RelativeLayout 呃?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7058887/

相关文章:

android - Android TabLayout 的默认高度是多少

Android LinearLayout 触摸移动

Android 线性布局 : Add border with shadow around a LinearLayout

java - AsyncTask - 如何在 AsyncTask 内使用带有 postDelayed(Runnable, int) 的处理程序?

android - 将 uri.parse 资源设置为 ImageView

android - 无法获得哪个 Android 版本支持 chromecast 应用程序的答案

html设置页面其余部分的宽度

android - TextView 填充点

java - 启动 Android Studio 时出错 : Failed to create JVM: error code-6

android - 将 CardView 移动到 NavigationView 下方