Android中自定义AlertDialog,去除黑,白边框问题
在实战开发中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();
}
解决之后效果图如下:
感谢 大神的解决方案