MarginLeft来自Button

时间:2017-03-15 13:00:45

标签: java android xamarin

我已经在里面创建了一个RelativeLayout按钮。 我正在使用这个xml代码并排创建四个按钮:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:minWidth="25px"
    android:minHeight="25px">
    <RelativeLayout
        android:minWidth="25px"
        android:minHeight="25px"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:id="@+id/relativeLayout1">
        <Button
            android:text="7"
            android:layout_alignParentLeft="true"
            android:layout_width="170dp"
            android:layout_height="75.0dp"
            android:id="@+id/button1" />
        <Button
            android:text="8"
            android:layout_marginLeft="165dp"
            android:layout_width="150dp"
            android:layout_height="75dp"
            android:id="@+id/button2"
            android:layout_marginRight="119.0dp" />
        <Button
            android:text="9"
            android:layout_marginLeft="310dp"
            android:layout_width="150dp"
            android:layout_height="75.0dp"
            android:id="@+id/button3" />
        <Button
            android:text="Enter"
            android:layout_marginLeft="455dp"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:id="@+id/button3" />
    </RelativeLayout>
</LinearLayout>

问题是我的边距是从RelativeLayout开始的,而不是从左边的对象开始的,在这种情况下是Button。 所以我的问题是:如果我将以不同的屏幕尺寸运行应用程序,我会遇到任何问题吗?

2 个答案:

答案 0 :(得分:1)

  

问题是我的保证金是从RelativeLayout开始的   而不是我左边的对象,在这种情况下是Button。

您可以将按钮放在另一个按钮的右侧,边距将位于它们之间。

示例:

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <Button
            android:id="@+id/button"
            android:layout_width="100dp"
            android:layout_height="100dp"
            android:background="@color/blue" />

        <Button
            android:layout_width="100dp"
            android:layout_height="100dp"
            android:layout_marginLeft="16dp"
            android:layout_toRightOf="@id/button"
            android:background="@color/accent" />
    </RelativeLayout>

答案 1 :(得分:0)

请尝试

- 使用线性布局,您可以制作完美的图纸,我定义每个按钮“重量”。这样做他们都平均分享线宽。如果我们说一到两个,那么它在同一行中的空间将是其他行的两倍

<?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:orientation="vertical"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:minWidth="25px"
        android:minHeight="25px">
        <LinearLayout
            android:orientation="horizontal"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:id="@+id/linearLayout1">
            <Button
                android:text="7"
                android:layout_width="wrap_content"
                android:layout_height="75dp"
                android:id="@+id/button1"
                android:layout_weight="1" />
            <Button
                android:text="8"
                android:layout_width="wrap_content"
                android:layout_height="75dp"
                android:id="@+id/button2"
                android:layout_weight="1" />
            <Button
                android:text="9"
                android:layout_width="wrap_content"
                android:layout_height="75dp"
                android:id="@+id/button3"
                android:layout_weight="1" />
            <Button
                android:text="ENTER"
                android:layout_width="wrap_content"
                android:layout_height="75dp"
                android:id="@+id/button4"
                android:layout_weight="1" />
        </LinearLayout>
    </LinearLayout>