Android:关于与大小/分辨率无关的应用程序的问题



我提前为问这个问题道歉,我知道类似的问题已经被问了数百次,但尽管我多次阅读了 Android 屏幕支持指南,但我仍然不明白如何创建一个适合多个屏幕的基本布局,而无法使用比例尺寸。

所以基本上,如果我总结一下本指南告诉我们要做的事情:

  • 我们应该为希望应用兼容的每个"大小组"和"密度组"设备创建多个布局资源。
  • 我们应该使用RelativeLayoutFrameLayout而不是AbsoluteLayout
  • 我们应该使用dp维度而不是px维度来摆脱密度差异问题。

还行。这是有道理的。

现在,这是我的问题(我提前为他们的愚蠢道歉):

  • 如果我使用Density Independent Pixels (dp)维度,为什么必须为不同的density groups创建不同的布局资源?
  • 我想为不同的屏幕尺寸使用不同的资源集的要点是,您可能希望应用程序布局在小型和大型设备上看起来不同,而不是具有具有不同尺寸的完全相同的布局,对吗?所以基本上这意味着,如果我只想要一个在所有设备上看起来完全相同的应用程序(只是缩小/扩展以适应屏幕尺寸),我只需要定义一组资源,对吗?
  • 如果我想创建一个非常简单的布局,它只包含两个按钮,每个按钮占据屏幕宽度的 50%,我如何通过使用dp尺寸来做到这一点?

谢谢,再次抱歉再次讨论这个话题......

您不必创建不同的布局。我主要只使用一种纵向布局和横向模式使用一种布局,将其他所有内容留给系统。

如果您想获得 2 个相同大小的按钮,只需使用

android:layout_width="fill_parent"
android:layout_weight="1"

并将它们放入线性布局容器中。

编辑(完整的代码,将并排给出两个按钮):

<LinearLayout android:layout_width="fill_parent"
    android:layout_height="wrap_content" android:orientation="horizontal">
    <Button 
        android:layout_width="fill_parent" android:layout_height="wrap_content" 
        android:layout_weight="1"
        android:text="@string/b1" android:onClick="btn1" />
    <Button 
        android:layout_width="fill_parent" android:layout_height="wrap_content" 
        android:layout_weight="1"
        android:text="@string/b2" android:onClick="btn2" />
</LinearLayout>

相关内容

  • 没有找到相关文章

最新更新