Android实现Window弹窗效果

作者:科蒙@xiaomi 时间:2022-12-07 21:48:16 

本文实例为大家分享了Android实现Window弹窗效果的具体代码,供大家参考,具体内容如下

效果图

Android实现Window弹窗效果

Android实现Window弹窗效果

第一步 准备弹窗的布局,新建XML文件 photo_window


<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
   android:layout_width="match_parent"
   android:layout_height="wrap_content"
   android:background="#FFFFFFFF"
   android:orientation="vertical">

<TextView
       android:id="@+id/photo"
       android:layout_width="match_parent"
       android:layout_height="50dp"
       android:gravity="center"
       android:text="拍摄"
       android:textColor="@color/black"
       android:textSize="16sp" />

<TextView
       android:id="@+id/choose_picture"
       android:layout_width="match_parent"
       android:layout_height="50dp"
       android:gravity="center"
       android:text="相册选择"
       android:textColor="@color/black"
       android:textSize="16sp" />

<TextView
       android:id="@+id/cancel"
       android:layout_width="match_parent"
       android:layout_height="50dp"
       android:gravity="center"
       android:text="取消"
       android:textColor="@color/black"
       android:textSize="16sp" />

</LinearLayout>

第二步 直接引用或者新建类,这里是新建类


public class ShowBottomDialog {
   private View view;
   private Dialog dialog;
   private OnItemClick onItemClick;
   public ShowBottomDialog(Context context) {
       //1、使用Dialog、设置style
       dialog = new Dialog(context, R.style.DialogTheme);
       //2、设置布局
       view = View.inflate(context, R.layout.photo_window, null);
       dialog.setContentView(view);
       Window window = dialog.getWindow();
       //设置弹出位置
       window.setGravity(Gravity.END);
       //设置对话框大小
       window.setLayout(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);

/**
* 内部点击事件  写了一个 其他自写
       dialog.findViewById(R.id.photo).setOnClickListener(new View.OnClickListener() {
           @Override
           public void onClick(View view) {
         //      Toast.makeText(context,"photo",Toast.LENGTH_SHORT).show();
         //      dialog.dismiss();
               if(onItemClick!=null){
                   onItemClick.onItemClick(view);
               }
           }
       });
**/
   }
   //展示
   public void show(){
       dialog.show();
   }
   //关闭
   public void dismiss(){
       dialog.dismiss();
   }
   public interface OnItemClick{
       void onItemClick(View view);
   }
   public void setOnItemClickListener(OnItemClick onItemClickListener){
       this.onItemClick=onItemClickListener;
   }
}

第三步引用


ShowBottomDialog showBottomDialog=new ShowBottomDialog(this);
showBottomDialog.show();
/**       showBottomDialog.setOnItemClickListener(new ShowBottomDialog.OnItemClick() {
           @Override
           public void onItemClick(View view) {
               switch (view.getId()){
                   //do something
               }
           }
       });**/

扩展

其他属性设置可以自己搜一下

来源:https://blog.csdn.net/weixin_46728351/article/details/116153535

标签:Android,Window,弹窗
0
投稿

猜你喜欢

  • java生成json数据示例

    2023-10-30 04:06:45
  • Java代码实现酒店管理系统

    2023-08-13 13:09:23
  • SpringBoot定制三种错误页面及错误数据方法示例

    2022-03-10 01:15:55
  • 解决JAVA遍历List集合,删除数据时出现的问题

    2021-12-25 15:38:03
  • Java实例讲解动态代理

    2023-03-21 22:56:45
  • Android自定义View实现比赛时间闪动效果

    2023-02-17 02:29:32
  • Java Netty实现心跳机制过程解析

    2023-05-24 21:27:10
  • Android实现在一个activity中添加多个listview的方法

    2023-10-13 14:41:22
  • HashMap原理及put方法与get方法的调用过程

    2023-10-06 03:53:02
  • 实体类或对象序列化时,忽略为空属性的操作

    2022-03-01 17:02:56
  • java 实现线程同步的方式有哪些

    2023-01-13 01:26:14
  • Android 在 res/layout 文件夹 下创建一个 子文件夹实例

    2021-07-31 22:50:21
  • Java IO流—异常及捕获异常处理 try…catch…finally

    2023-03-14 07:35:52
  • Spring Boot集成Mybatis中如何显示日志的实现

    2023-04-09 10:49:48
  • 基于struts2和hibernate实现登录和注册功能

    2022-03-23 00:27:43
  • WCF实现进程间管道通信Demo分享

    2022-10-22 04:20:06
  • kotlin实现强制下线功能

    2023-06-13 12:35:08
  • 基于Spring整合mybatis的mapper生成过程

    2022-01-11 03:49:26
  • 关于springBoot yml文件的list读取问题总结(亲测)

    2023-11-04 12:37:08
  • Android仿qq顶部消息栏效果

    2021-10-28 13:52:57
  • asp之家 软件编程 m.aspxhome.com