作为对话框的 Android 活动:无法正确显示布局内容
Posted
技术标签:
【中文标题】作为对话框的 Android 活动:无法正确显示布局内容【英文标题】:Android activity as Dialog: Doesn't display layout content properly 【发布时间】:2017-09-13 19:10:59 【问题描述】:我有一个DialogActivity
,一个EditText
和一个Button
。这是布局:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_
android:layout_
android:orientation="vertical"
android:background="@color/colorPrimaryLight2">
<EditText
android:id="@+id/input_username"
android:layout_
android:layout_
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_
android:layout_
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>
我的活动是什么样子的:
问题是布局的活动内容重叠。我需要的是对话框的高度应该包含Activity
的内容。
任何帮助都会很棒!谢谢。
【问题讨论】:
【参考方案1】:从EditText
中删除android:layout_centerVertical="true"
。最终布局应如下所示。
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_
android:layout_>
<EditText
android:id="@+id/input_username"
android:layout_
android:layout_
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_
android:layout_
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>
【讨论】:
并在RelativeLayout中添加android:padding="30dp",解决了我的问题。接受这个作为答案。谢谢。 很高兴知道这有帮助!【参考方案2】:只需从您的EditText
中删除属性android:layout_centerHorizontal="true"
和android:layout_centerVertical="true"
。
如下更新您的对话框布局:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_
android:layout_
android:orientation="vertical"
android:background="@color/colorPrimaryLight2">
<EditText
android:id="@+id/input_username"
android:layout_
android:layout_
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_
android:layout_
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>
输出:
希望对你有帮助~
【讨论】:
是的!正是..! 如果我的回答有帮助,请将其标记为已接受的答案并给予支持。 ***.com/help/someone-answers 当然!我投了赞成票,但我的声誉很低。投票我的问题可能会有所帮助。以上是关于作为对话框的 Android 活动:无法正确显示布局内容的主要内容,如果未能解决你的问题,请参考以下文章