带有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"
。
在清理了一点之后(很抱歉,当它像问题中那样被压缩时,很难阅读),你也没有说明最后一个TextView
、dialogbuttoninfo
相对于其他东西应该在哪里,我认为你必须这样做才能让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>
您可能需要将按钮的左侧与某个东西对齐,然后才能使边距具有真正的意义。