0

我想在屏幕中央创建一个由 6 个方形按钮组成的简单网格。充当菜单。问题是我不知道如何根据屏幕尺寸缩放这些。例如,100dp 的正方形在较小的屏幕上是可以的,但在较大的屏幕上,它与空白空间相形见绌。但是让方块变大在较小的屏幕上会产生相反的效果。

有没有一种简单的方法可以做到这一点,或者我需要在运行时通过大量数学以编程方式创建正方形。

我会给出代码,但除了硬编码正方形大小的基本 XML 文件之外,我真的没有任何东西。

谢谢。

4

1 回答 1

0

尺寸(特别是在 dp 中测量的尺寸,例如方形按钮的边或按钮之间的距离)可以在 中动态定义dimens.xml,而通过创建特殊文件夹(例如 、 等)又可以为不同的屏幕尺寸/res/values-hdpi定义/res/values-xlarge尺寸/res/values-sw720dp。里面有自己的dimens.xml文件。有关详细信息,请参阅http://developer.android.com/guide/practices/screens_support.html

在您的 xml 布局中,您可以:

<ImageView
    android:id="@+id/button1"
    android:layout_height="@dimen/button_height"
    android:layout_width="@dimen/button_width"
    android:layout_marginBottom="@dimen/distance_between_buttons"
    android:src="/res/drawable/imgbutton"/>

<ImageView
    android:id="@+id/button2"
    android:layout_height="@dimen/button_height"
    android:layout_width="@dimen/button_width"
    android:layout_marginBottom="@dimen/distance_between_buttons"
    android:src="/res/drawable/imgbutton"/>

<ImageView
    android:id="@+id/button3"
    android:layout_height="@dimen/button_height"
    android:layout_width="@dimen/button_width"
    android:src="/res/drawable/imgbutton"/>

在 /res/values/dimens.xml 你可以有:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <dimen name="button_height">100dp</dimen>
    <dimen name="button_width">100dp</dimen>
    <dimen name="distance_between_buttons">20dp</dimen>
</resources>

在 /res/values-large 中,您可以拥有:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <dimen name="button_height">200dp</dimen>
    <dimen name="button_width">200dp</dimen>
    <dimen name="distance_between_buttons">40dp</dimen>
</resources>
于 2013-06-10T23:40:25.807 回答