我的应用程序中有一个自定义对话框,它来自Activity
并使用RelativeLayout
,所有定位和属性都由 XML 文件处理,而代码中没有。我的布局完全符合我的要求,但由于对话框中某些项目的长度,一些信息行会换行到下一行。这不是问题,除了对话框中的关闭按钮在这些情况下看起来像是有人坐在上面。
这是来自模拟器的屏幕截图,显示按钮很好,但我希望在描述文本的右侧有一些填充,因此它不会与对话框的右侧对接:
看到这一点,我添加android:layout_marginRight="5dp"
到布局文件中,希望得到我的边距,这似乎是 - 我得到了我的包装 - 但按钮不正确。对话框的高度在我期望的时候没有改变,因为描述现在换行了。
这是我的完整布局 XML。这是我第一次使用RelativeLayout
,所以希望这是我忽略的简单内容。
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<ImageView
android:id="@+id/achievement_icon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"
android:layout_marginLeft="7dp"
android:contentDescription="@string/achievement_icon" />
<TextView
android:id="@+id/achievement_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="5dp"
android:layout_marginRight="5dp"
android:textColor="#ffffff"
android:textStyle="bold"
android:layout_toRightOf="@+id/achievement_icon" />
<TextView
android:id="@+id/achievement_gamerscore"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#ffffff"
android:textStyle="bold"
android:layout_marginLeft="5dp"
android:layout_below="@+id/achievement_name"
android:layout_toRightOf="@+id/achievement_icon" />
<TextView
android:id="@+id/achievement_description"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="7dp"
android:layout_marginRight="5dp"
android:layout_alignLeft="@+id/achievement_icon"
android:layout_below="@+id/achievement_icon" />
<TextView
android:id="@+id/achievement_earned"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="7dp"
android:layout_marginRight="5dp"
android:layout_alignLeft="@+id/achievement_description"
android:layout_below="@+id/achievement_description" />
<Button
android:id="@+id/cancel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="7dp"
android:layout_centerHorizontal="true"
android:text="@string/button_close"
android:layout_below="@+id/achievement_earned" />
</RelativeLayout>