作为对话框的Android活动:不能正确显示布局内容

时间:2017-04-18 04:52:41

标签: android android-activity dialog

我有DialogActivity EditTextButton。这是布局:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:orientation="vertical"
    android:background="@color/colorPrimaryLight2">

    <EditText
        android:id="@+id/input_username"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:inputType="textEmailAddress"
        android:textColor="@color/colorPrimary"
        android:textColorHint = "@android:color/secondary_text_light_nodisable"
        android:hint="Contact ID"
        android:padding="15dp"/>

    <Button
        android:id="@+id/btn_login"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/input_username"
        android:layout_centerHorizontal="true"
        android:padding="12dp"
        android:background="@drawable/elevation"
        android:textColor="@color/colorPrimary"
        android:text="Add Contact"/>

</RelativeLayout>

清单中的活动:

<activity android:name=".AddContactActivity"
    android:screenOrientation="portrait"
    android:label="Add Contact"
    android:theme="@style/Theme.AppCompat.Light.Dialog">
</activity>

我的活动是什么样的:

Dialog Activity

问题是布局的活动内容是重叠的。我需要的是对话框的高度应该包含Activity的内容。

任何帮助都会很棒!!感谢。

2 个答案:

答案 0 :(得分:1)

android:layout_centerVertical="true"中删除EditText。最终布局应如下所示。

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content">

    <EditText
        android:id="@+id/input_username"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:hint="Contact ID"
        android:inputType="textEmailAddress"
        android:padding="15dp"
        android:textColor="@color/colorPrimary"
        android:textColorHint="@android:color/secondary_text_light_nodisable" />

    <Button
        android:id="@+id/btn_login"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="16dp"
        android:layout_below="@+id/input_username"
        android:layout_centerHorizontal="true"
        android:padding="12dp"
        android:text="Add Contact"
        android:textColor="@color/colorPrimary" />

</RelativeLayout>

答案 1 :(得分:1)

只需从android:layout_centerHorizontal="true"删除属性android:layout_centerVertical="true"EditText

更新对话框布局,如下所示:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:orientation="vertical"
    android:background="@color/colorPrimaryLight2">

    <EditText
        android:id="@+id/input_username"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:inputType="textEmailAddress"
        android:textColor="@color/colorPrimary"
        android:textColorHint = "@android:color/secondary_text_light_nodisable"
        android:hint="Contact ID"
        android:padding="15dp"/>

    <Button
        android:id="@+id/btn_login"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/input_username"
        android:layout_centerHorizontal="true"
        android:padding="12dp"
        android:background="@drawable/elevation"
        android:textColor="@color/colorPrimary"
        android:text="Add Contact"/>

</RelativeLayout>

<强>输出:

enter image description here

希望这会有所帮助〜