在实战开发中Android系统自带的AlertDialog远远不能满足我们的需求,这样一来我们就需要自定义AlertDialog的样式,我们会发现自定义时候会出现黑白边框问题,,以下是解决办法:
问题效果如下: 
解决方法: 布局文件 exit_dialog.xml
<?xml version="1.0" encoding="utf-8"?><FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="#050505" android:orientation="vertical"> <ImageView android:layout_width="@dimen/sm_500" android:layout_height="@dimen/sm_300" android:scaleType="fitXY" android:src="@drawable/dialog_exit" /> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:paddingTop="@dimen/sm_200" android:gravity="center_horizontal" android:orientation="horizontal"> <Button android:id="@+id/dialog_btn_exit" android:layout_width="@dimen/sm_100" android:layout_height="@dimen/sm_50" android:background="@drawable/dialog_exit_btn_selector" android:focusable="true" android:focusableInTouchMode="true" android:text="退出了" android:textSize="@dimen/sm_20" android:textColor="#ffffff" /> <Button android:id="@+id/dialog_btn_cancel" android:layout_width="@dimen/sm_100" android:layout_height="@dimen/sm_50" android:layout_marginLeft="@dimen/sm_54" android:background="@drawable/dialog_exit_btn_selector" android:text="再看看" android:textSize="@dimen/sm_20" android:textColor="#ffffff" /> </LinearLayout></FrameLayout>java 代码部分
/** * 展示退出登陆dialog */ PRivate void showExitDialog() { AlertDialog.Builder builder = null; View layout = LayoutInflater.from(this).inflate(R.layout.exit_dialog, null); builder = new AlertDialog.Builder(this); builder.setView(layout); final AlertDialog dialog = builder.create(); //在此使用setview方法可以设置布局文件和alertdialog四周边框的距离 dialog.setView(layout,0,0,0,0); dialog.show(); }解决之后效果图如下: 
感谢 大神的解决方案
新闻热点
疑难解答