User dialog opens in full screen mode

I am developing an Android application and I have a question about user dialogs.

I do this to open a user dialog:

protected void showSetFriendEmailDialog() { // Create the dialog. final Dialog emailDialog = new Dialog(FriendHomeActivity.this, android.R.style.Theme_DeviceDefault); emailDialog.requestWindowFeature(Window.FEATURE_NO_TITLE); emailDialog.setCancelable(true); emailDialog.setContentView(R.layout.dialog_add_friend_email); // Get dialog widgets references. final EditText editFriendsEmail = (EditText)emailDialog.findViewById(R.id.editEmailAddFriendEmail); Button btnAccept = (Button)emailDialog.findViewById(R.id.btnAddFriendEmail); // Set on click lister for accept button btnAccept.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { // Get selected values String friendEmail = editFriendsEmail.getText().toString(); // Close dialog. emailDialog.dismiss(); // TODO: Call api to send email to web service using friendsEmail var. Log.v(TAG, "Friend email: " + friendEmail); } }); //now that the dialog is set up, it time to show it emailDialog.show(); } 

And this is his layout:

 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <TextView android:id="@+id/textAddFriendEmail" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/layout_set_friend_email" android:textAppearance="?android:attr/textAppearanceMedium" /> <EditText android:id="@+id/editEmailAddFriendEmail" android:layout_width="match_parent" android:layout_height="wrap_content" android:ems="10" android:inputType="textEmailAddress" > <requestFocus /> </EditText> <Button android:id="@+id/btnAddFriendEmail" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/ok" /> </LinearLayout> 

But it opens in full screen.

What do I need to do to open it as an AlertDialog ?

+4
source share
3 answers

you need to use android.R.style.Theme.Dialog instenad android.R.style.Theme_DeviceDefault

+6
source

Just create your own style and apply it to the dialog box ...

 <style name="full_screen_dialog" parent="@android:style/Theme.Dialog"> <item name="android:windowNoTitle">true</item> <item name="android:windowFullscreen">true</item> <item name="android:windowIsFloating">true</item> <item name="android:windowContentOverlay">@null</item> <item name="android:windowAnimationStyle">@android:style/Animation.Dialog</item> <item name="android:windowSoftInputMode">stateUnspecified|adjustPan</item> <item name="android:windowBackground">@android:color/transparent</item> </style> 
+1
source

Use R.style.Theme_AppCompat_Dialog to get the correct dialog.

+1
source

Source: https://habr.com/ru/post/1489861/


All Articles