所有设备的android RelativeLayout

时间:2014-09-13 07:17:08

标签: android scale relativelayout

我正在尝试使用某些Android应用程序的相对布局。

<Button
        android:layout_width="100dip"
        android:background="#ff394aff"
        android:text="start"
        android:layout_height="wrap_content"

        android:layout_marginLeft="225dp"
        android:layout_marginTop="225dp"

        android:id="@+id/start" android:layout_gravity="center_horizontal" android:layout_weight="0.50"/>

但是在某些设备中会出现在不同的位置。我试过&#34; dip&#34;和&#34; sp&#34;但问题仍然存在。 帮助我如何做到这一点,以便在所有设备中的位置相同?

2 个答案:

答案 0 :(得分:0)

许多设备具有不同的分辨率,因此代码中的问题是marginleft和margintop。由于它们,您的按钮位置在所有设备中都是不同的。 还有android:layout_weight =&#34; 0.50&#34;不应该在相对布局中使用。它没有任何影响。

答案 1 :(得分:0)

当你使用marginleft时我没有得到你为什么使用重力使水平居中。 试试这个设备,按钮将出现在页面底部,全宽到屏幕。在这个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="wrap_content"
android:orientation="vertical"
android:paddingBottom="1dip"
android:paddingLeft="1dip"
android:paddingRight="1dip" >

<LinearLayout
    android:id="@+id/linearLayout1"
    android:layout_width="fill_parent"
    android:layout_height="150dip"
    android:layout_above="@+id/cback"
    android:layout_alignParentTop="true" >

    <ListView
        android:id="@android:id/list"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:drawSelectorOnTop="false" />
</LinearLayout>

<Button
    android:id="@+id/cback"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:background="@drawable/btn_black"
    android:text="Back"
    android:textColor="#ffffff"
    tools:ignore="HardcodedText" />

</RelativeLayout>