我是靠谱客的博主 英俊超短裙,最近开发中收集的这篇文章主要介绍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
                }
            }
        });**/

扩展

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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持靠谱客。

最后

以上就是英俊超短裙为你收集整理的Android实现Window弹窗效果的全部内容,希望文章能够帮你解决Android实现Window弹窗效果所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(119)

评论列表共有 0 条评论

立即
投稿
返回
顶部