1. 解决dialog背景四个直角有黑边问题 1.1.工程value/style.xml 加入以下dialog样式
<style name="SingleMessageDialogStyle" parent="@android:style/Theme.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:backgroundDimEnabled">true</item> <item name="android:windowBackground">@null</item> </style>1.2. 自定义Dialog代码构造函数中加入以下代码片断
void initConfig(){ setCanceledOnTouchOutside(true); // 解决dialog背景四个直角有黑边问题 getWindow().setBackgroundDrawableResource(android.R.color.transparent);// 背景透明 getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);// 全屏(注:内容区域全屏,有状态显示) }1.3.布局 dialog.xml
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:id="@+id/root_layout"> <TextView android:id="@+id/tv_msg" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerInParent="true" android:background="@drawable/bg_small_frame" android:text="@string/dialog_single_msg_text" android:textColor="@android:color/white" android:gravity="center" android:textSize="32sp" /> </RelativeLayout>