1

我正在尝试创建支持所有屏幕的布局

所以,我添加了布局文件夹,如

布局小

布局-大

布局-xlarge

布局-w600dp

我把它们都编辑成合适的

但是当我在 HTC Sensation 2.1 中运行应用程序时,它们出现的位置不正确

这是布局的代码

<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:id="@+id/mainlayout"
tools:context=".SebhaActivity"
android:background="#4b6702"
 >

<ImageView
        android:id="@+id/imageView1"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:src="@drawable/sebha_bg"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:scaleType="fitCenter" />

<TextView
    android:id="@+id/zakr"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_alignParentLeft="true"
    android:layout_marginBottom="58dp"
    android:gravity="center"
    android:text="@string/first_zekr"
    android:textAppearance="?android:attr/textAppearanceLarge"
    android:textColor="#FFFFFF"
    android:textSize="25dp" />

<Button
    android:id="@+id/azkar"
    android:layout_width="100dp"
    android:layout_height="40dp"
    android:layout_alignParentBottom="true"
    android:layout_centerHorizontal="true"
    android:text="@string/Azkar" />

<Button
    android:id="@+id/karaza"
    android:layout_width="135dp"
    android:layout_height="135dp"
    android:layout_above="@+id/zakr"
    android:layout_centerHorizontal="true"
    android:layout_marginBottom="74dp"
    android:background="@drawable/button_green"
    android:text="0"
    android:textColor="#FFFFFF"
    android:textSize="38dp" 
    android:scaleType="fitCenter" />

</RelativeLayout>

模拟器将其显示为我想要的..

模拟器

但我的手机显示如下..

宏达电

有什么帮助吗?

4

1 回答 1

0

如果您希望子视图显示在 RelativeLayout 中的另一个子视图下方,则应使用特定约束来实现该效果。所以如果你有一个 id 为 first_element 并且想要低于它的东西,你会这样做:
android:layout_below="@id/first_element"

如果你想要一个元素沿着底部你可以这样做:
android:id="@+id/bottom_element"
android:layout_alignParentBottom="true"

如果你想要一个上面的元素:
android:layout_above="@id/bottom_element"

现在,您将一件事居中,但您将其他事情设置为具有一定的底部边距和大小以及类似的东西。但是当屏幕大小发生变化时,您的元素不再像在不同大小的屏幕上那样排列。解决方案是使用明确指定您希望将事物相对放置的约束。

你可以在这里看到一个教程:http:
//developer.android.com/guide/topics/ui/layout/relative.html

于 2013-02-15T22:19:53.357 回答