对话框消除黑色背景、边框
使用Dialog
自定义主题:
<style name="Theme" parent="@android:Theme.DeviceDefault.Light.Dialog">
<item name="android:windowFrame">@null</item>
<item name="android:windowIsFloating">true</item>
<item name="android:windowIsTranslucent">false</item>
<item name="android:windowNoTitle">true</item>
<item name="android:background">@null</item>
<item name="android:backgroundDimEnabled">false</item>
<item name="android:windowBackground"> @android:color/transparent </item>
</style>
初始化对话框:
Dialog dialog = new Dialog(context, R.style.Theme); //自定义theme消除黑色背景、边框
dialog.setContentView(view);
dialog.show();
使用AlertDialog:
AlertDialog alertDialog = new AlertDialog.Builder(context).create();
alertDialog.show();
alertDialog.setContentView(view); //在show()之后设置
setView()和setContentView()的区别:setView()只会覆盖AlertDialog的Title和Button之间的部分,而setContentView()则会全部覆盖。
对话框大小和位置
//设置dialog的属性
Window window = menuDialog.getWindow();
window.setGravity(Gravity.LEFT); //靠左
android.view.WindowManager.LayoutParams layoutParams = window
.getAttributes();
layoutParams.width = 500; //宽度
window.setAttributes(layoutParams);