嗨,我正在开发一个有 11 个按钮的应用程序。我创建了一个相对布局并按照我想要的方式排列按钮。在 Android Studio 中,我使用 nexus 4 屏幕作为指南。
现在,当我在分辨率较低的屏幕(例如 320*480)上运行我的应用程序时,我的最后一个按钮消失了,或者说离开了屏幕。如下图所示。
我所有的宽度和高度都在下降。我该如何解决这个问题?
嗨,我正在开发一个有 11 个按钮的应用程序。我创建了一个相对布局并按照我想要的方式排列按钮。在 Android Studio 中,我使用 nexus 4 屏幕作为指南。
现在,当我在分辨率较低的屏幕(例如 320*480)上运行我的应用程序时,我的最后一个按钮消失了,或者说离开了屏幕。如下图所示。
我所有的宽度和高度都在下降。我该如何解决这个问题?
您需要了解,虽然在为 android 设计时使用 dp 是正确的方法,但这并不意味着每个屏幕都具有完全相同的 dp 量。
您可以让每个人的布局更小一点,或者您可以尝试将每一行按钮放在水平线性布局中,让每个按钮相等android:layout_weight
,这样无论屏幕大小如何,它们都会均匀分布。使用边距来控制它们之间的间距。
您可以使用相同原理的权重来解决垂直问题:将每一行放在垂直线性布局中并赋予它们相同的权重。
你应该LinearLayout
使用android:weightSum
1.设置父节点的android:weightSum
2.按比例设置每个孩子的android:layout_weight(例如weightSum="6"
,六个孩子:layout_weight="1"
每个)
布局.xml
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:weightSum="6">
<TextView
android:layout_width="wrap_content"
android:layout_height="0dp"
android:layout_weight="1"
android:text="1" />
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="0dp"
android:layout_weight="1"
android:orientation="horizontal" />
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="0dp"
android:layout_weight="1"
android:orientation="horizontal" />
///////////////
</LinearLayout>