I need to show a custom dialog in my Android application. Standard AlertDialog
design is unacceptable. Android docs say:
Tip: If you want
dialog.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND);
i have used this as a style:
<style name="DialogTransparent" parent="Theme.AppCompat.Dialog">
<item name="android:windowFrame">@null</item>
<item name="android:windowBackground">@android:color/transparent</item>
<item name="android:windowIsFloating">true</item>
<item name="android:windowContentOverlay">@null</item>
<item name="android:windowTitleStyle">@null</item>
<item name="android:windowAnimationStyle">@android:style/Animation.Dialog</item>
<item name="android:windowSoftInputMode">stateUnspecified|adjustPan</item>
<item name="android:background">@android:color/transparent</item>
</style>
<!-- <item name="android:backgroundDimEnabled">false</item> -->
it has also background transparent, setting the brackgroundDimEnabled parameter to false works for not showing the gray background that shows with the dialog in his back.
Try...
You can avoid the gray background like this, Here I did get transparent background.
........
Dialog dialog = new Dialog(MainActivity.this);
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
Window window = dialog.getWindow();
window.setBackgroundDrawableResource(android.R.color.transparent);
dialog.setContentView(R.layout.popup_layout);
Button dialogBtn= (Button) dialog.findViewById(R.id.btn);
dialogBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//task
}
});
dialog.show();
.......
dialog.getWindow().setBackgroundDrawableResource(android.R.color.transparent);
make theme like this
<style name="ThemeDialogCustom">
<item name="android:windowFrame">@null</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:windowBackground">@color/transparent</item>
<item name="android:colorBackgroundCacheHint">@null</item>
</style>