前言:经常会遇到效果图中有这么个效果,实现方式很多,个人感觉这个方式最简单。。。
实现特别简单,先看布局,关键在最外层布局设置,matchparent,并且背景全部透明,然后就是关闭按钮,关闭按钮下面的布局根据需要设置背景颜色
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="#00cccccc" >
<ImageView
android:id="@+id/photo"
android:layout_width="20dp"
android:layout_height="20dp"
android:layout_centerInParent="true"
android:scaleType="fitXY"
android:src="@android:drawable/ic_delete"
/>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#f0f" >
<ImageView
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_centerInParent="true"
android:scaleType="fitXY"
android:layout_marginTop="20dp"
android:src="@drawable/ic_launcher"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="内容"
/>
</RelativeLayout>
</LinearLayout>
接着是代码,一定要先show,再设置内容视图。
mDialog = new AlertDialog.Builder(this).create();
mDialog.show();
mDialog.setContentView(LayoutInflater.from(this).inflate(R.layout.photo_layout, null));
先show 再设置布局