今天做项目的时候碰到需要弹窗的部分,感觉这种已定义弹窗很好用。效果图:
主体代码:
//点击返回键弹框 final AlertDialog.Builder builder = new AlertDialog.Builder(context); final View view = LayoutInflater.from(context).inflate(R.layout.shopping_xuqiu_popwindow, null); final AlertDialog dialog=builder.setView(view).show(); //通过LayoutInflater来加载一个xml的布局文件作为一个View对象 Button finishBT=(Button)view.findViewById(R.id.finishBT); finishBT.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { //view.setVisibility(View.GONE); dialog.dismiss(); } });layout代码:
<?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"> <LinearLayout android:id="@+id/l1" android:orientation="horizontal" android:background="#f0f0f0" android:layout_width="match_parent" android:layout_height="40dp" android:gravity="center_vertical"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="提示" android:layout_marginLeft="15dp" android:textColor="#191919" android:textSize="20dp"/> <LinearLayout android:gravity="right" android:layout_width="match_parent" android:layout_height="wrap_content"> <ImageView android:visibility="gone" android:id="@+id/celcen_shop_pop" android:layout_marginRight="10dp" android:layout_gravity="center_vertical" android:layout_width="23dp" android:layout_height="23dp" /> </LinearLayout> </LinearLayout> <LinearLayout android:background="#fff" android:orientation="vertical" android:layout_below="@+id/l1" android:layout_width="match_parent" android:layout_height="wrap_content"> <TextView android:layout_marginTop="25dp" android:layout_marginRight="15dp" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="请选择网点正常/异常反馈签出" android:layout_marginLeft="15dp" android:textColor="#474747" android:textSize="17dp"/> <LinearLayout android:layout_marginBottom="5dp" android:layout_marginTop="15dp" android:orientation="horizontal" android:gravity="center" android:layout_width="match_parent" android:layout_height="wrap_content"> <!--<Button android:id="@+id/jixushopping" android:background="#e51c23" android:textColor="#fff" android:textSize="16dp" android:layout_width="90dp" android:layout_height="40dp" android:text="继续购物"/>--> <Button android:id="@+id/finishBT" android:layout_marginLeft="20dp" android:background="#00c168" android:textColor="#fff" android:textSize="16dp" android:layout_width="90dp" android:layout_height="30dp" android:text="确定"/> </LinearLayout> </LinearLayout> </RelativeLayout>layout里面就写成自己所需要的布局样式就可以了。我这里实现的比较简单:
因为是alertdialog,所以当我点击空白处的时候这个自定义的view会自动消失。我这里实现的是当点击确定按钮的时候view也消失。特别要注意这里的实现。
本文介绍了在Android中如何自定义AlertDialog,展示了实现过程和效果,并提供了关键代码示例,实现了点击确定按钮关闭弹窗的功能。
662

被折叠的 条评论
为什么被折叠?



