带有Dialog
的自定义RelativeLayout
框包含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>
填充有效,但仅移动按钮内的文本。有什么建议吗?
答案 0 :(得分:1)
这看起来很糟糕,但您是否尝试将其全部放在LinearLayout
中?或者可能删除android:orientation="horizontal"
。我不认为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>
答案 1 :(得分:1)
在边距具有真正意义之前,您可能需要将按钮左侧与某些东西对齐。