相对布局中的按钮不受设置布局边距的影响



带有RelativeLayout的自定义Dialog框包含一个Button小部件,无论方向如何,该小部件都不会更改其边距。这是xml:


<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent" android:layout_height="match_parent"
    android:orientation="horizontal" android:background="#99000000">
    <TextView android:id="@+id/dialogtitle" android:layout_width="fill_parent"
         android:layout_height="wrap_content" android:text="Some text" />
    <TextView android:id="@+id/dialogtext" android:layout_width="300dp"
        android:layout_height="wrap_content" android:textSize="15dp"
        android:layout_alignParentLeft="true" android:layout_below="@id/dialogtitle"
        android:paddingLeft="8dp" />
    <Button android:id="@+id/dialogbuttoninfo" android:layout_width="80dp"
        android:layout_height="wrap_content" android:text="Doesn't care about margins"
        android:layout_alignParentRight="true" android:layout_marginLeft="128dp" />
</RelativeLayout>

填充有效,但仅移动按钮内部的文本。有什么建议吗?

这看起来很糟糕,但你试过把它全部放在LinearLayout中吗?或者可能移除CCD_ 5。从我所看到的情况来看,RelativeLayout并不关心方向。此外,我认为,但可能是错误的,如果你做了LinearLayout,那么你也不需要有android:layout_alignParentLeft="true"

在清理了一点之后(很抱歉,当它像问题中那样被压缩时,很难阅读),你也没有说明最后一个TextViewdialogbuttoninfo相对于其他东西应该在哪里,我认为你必须这样做才能让Relative layouts正常工作,我已经发生了一些奇怪的事情。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:background="#99000000">
    <TextView
        android:id="@+id/dialogtitle"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="Some text" />
    <LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="horizontal">
        <TextView
            android:id="@+id/dialogtext"
            android:layout_width="300dp"
            android:layout_height="wrap_content"
            android:textSize="15dp"
            android:layout_alignParentLeft="true"
            android:paddingLeft="8dp" />
        <Button
            android:id="@+id/dialogbuttoninfo"
            android:layout_width="80dp"
            android:layout_height="wrap_content"
            android:text="Doesn't care about margins"
            android:layout_alignParentRight="true"
            android:layout_marginLeft="128dp" />
    </LinearLayout>
</LinearLayout>

您可能需要将按钮的左侧与某个东西对齐,然后才能使边距具有真正的意义。

相关内容

  • 没有找到相关文章

最新更新