Android 对话框 activity 取出整个屏幕而不是对话框
Android dialog activity takes out the whole screen instead of a dialog
我正在尝试设置一个伪装成对话的 activity。
我想让它出现在屏幕中间,但它占据了整个屏幕,只显示灰色...
我使用了 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
我在网上搜索,特别是在 whosebug.com,所有其他相关问题都在 "alignParentLeft" + "alignParentRight" 的某个地方有两个左右的组成部分,但我不能在我的代码中找不到这样的东西。
在此先感谢大家! :)
您需要将 Activity(伪装成对话框)的主题设置为对话框。
在清单中输入以下代码。
<activity
android:name=".About"
android:label="@string/app_name"
android:theme="@android:style/Theme.Dialog"
>
</activity>
这一行很重要,可以让您的 activity 伪装成一个对话框。
android:theme="@android:style/Theme.Dialog"
我正在尝试设置一个伪装成对话的 activity。 我想让它出现在屏幕中间,但它占据了整个屏幕,只显示灰色...
我使用了 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
我在网上搜索,特别是在 whosebug.com,所有其他相关问题都在 "alignParentLeft" + "alignParentRight" 的某个地方有两个左右的组成部分,但我不能在我的代码中找不到这样的东西。
在此先感谢大家! :)
您需要将 Activity(伪装成对话框)的主题设置为对话框。 在清单中输入以下代码。
<activity
android:name=".About"
android:label="@string/app_name"
android:theme="@android:style/Theme.Dialog"
>
</activity>
这一行很重要,可以让您的 activity 伪装成一个对话框。
android:theme="@android:style/Theme.Dialog"