好的,这个问题一直困扰着我大约两个星期,而且我已经完成了所有的研究,我仍然无法弄清楚这一点。我有一个饼图形式的6个按钮。当我在XML中进行布局时,我可以让它们看起来很好。
当我将其更改为平板电脑尺寸或其他尺寸屏幕时,我的所有按钮都移动并且看起来很糟糕。
如何在任何屏幕尺寸上固定这些按钮?我知道我必须在approriate文件夹中有不同的图像大小,我打算这样做,但我需要知道是否有办法将它们锁定在XML文件中的某个位置或我需要做什么使这项工作正常。一如既往,非常感谢任何和所有的帮助,如果我对我的问题不够清楚,我会回答任何问题。致谢
这是我的XML
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/mainback" >
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true"
android:layout_marginLeft="25dp"
android:background="@drawable/ipadcollegesm" />
<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBottom="@+id/button1"
android:layout_alignRight="@+id/button1"
android:layout_marginBottom="92dp"
android:background="@drawable/ipadmusicsm" />
<Button
android:id="@+id/button3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBottom="@+id/button2"
android:layout_marginLeft="5dp"
android:layout_toRightOf="@+id/button1"
android:background="@drawable/ipadfamilysm" />
<Button
android:id="@+id/button4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/button3"
android:layout_alignTop="@+id/button1"
android:background="@drawable/ipadyouthsm" />
<Button
android:id="@+id/button5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/button4"
android:layout_below="@+id/button3"
android:layout_marginTop="14dp"
android:background="@drawable/ipadlinkssm" />
<Button
android:id="@+id/button6"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/button5"
android:layout_alignBottom="@+id/button5"
android:layout_toLeftOf="@+id/button4"
android:background="@drawable/ipadpodcastsm" />
</RelativeLayout>
答案 0 :(得分:2)
您为每个按钮提供了固定的dp,不同的设备具有不同的分辨率。
为了使这项工作在多个工作量最少的设备上,我建议添加另一个相对布局作为根,并将重力设置为中心。这样,布局始终位于屏幕的中心。
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="center"
android:background="@drawable/mainback">
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content">
*** Your buttons would be here ***
</RelativeLayout>
</RelativeLayout>
另一种方法是为每个屏幕大小设置一个尺寸文件,但上面可能是最简单的方法。