Android对话框活动取出整个屏幕而不是对话框

时间:2015-03-25 22:58:55

标签: android relativelayout

我试图建立一个假装成对话的活动。 我希望它出现在屏幕中间,但它需要整个屏幕,只显示灰色......

我使用了relativeLayout,这是我的代码和截图 -

<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:theme="@android:style/Theme.Dialog"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
tools:context=".TodoListManagerActivity">

<EditText
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:minHeight="60dp"
    android:id="@+id/et_add_dialog_text"
    android:hint="@string/addDialogInsertTextHere"
    />

<DatePicker
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:calendarViewShown="false"
    android:id="@+id/dp_add_dialog_date"
    android:layout_below="@+id/et_add_dialog_text" />

<Button
        style="?android:attr/buttonStyleSmall"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Add!"
        android:id="@+id/btn_add_dialog_add"
        android:layout_below="@id/dp_add_dialog_date"
        android:layout_alignLeft="@id/dp_add_dialog_date"
    />

<CheckBox
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/addDialogCheckBoxNoDueDate"
    android:id="@+id/cbx_add_dialog_no_due"
    android:layout_below="@id/dp_add_dialog_date"
    android:layout_centerHorizontal="true"
    />

<Button
    style="?android:attr/buttonStyleSmall"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Cancel"
    android:id="@+id/btn_add_dialog_cancel"
    android:layout_below="@id/dp_add_dialog_date"
    android:layout_alignRight="@id/dp_add_dialog_date"
    />
</RelativeLayout>

和截图(浪费的地方标有黄色) - screenshot of the fullscreen activity

我在网上搜索了一下,特别是在stackoverflow.com上,所有其他相关问题都被提到了某个地方&#34; alignParentLeft&#34; +&#34; alignParentRight&#34;有两个组成部分,但我在代码中找不到这样的东西。

先谢谢大家! :)

1 个答案:

答案 0 :(得分:2)

您需要将Activity的主题(假装为Dialog)设置为Dialog。 在清单中输入以下代码。

       <activity
        android:name=".About"
        android:label="@string/app_name" 
        android:theme="@android:style/Theme.Dialog" 
        >
        </activity>

此行对于将您的活动设置为假装为对话框非常重要。

       android:theme="@android:style/Theme.Dialog"