亲宝软件园·资讯

展开

Android Window弹窗效果 Android实现Window弹窗效果

科蒙@xiaomi 人气:0
想了解Android实现Window弹窗效果的相关内容吗,科蒙@xiaomi在本文为您仔细讲解Android Window弹窗效果的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点: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
                }
            }
        });**/

扩展

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

加载全部内容

相关教程
猜你喜欢
用户评论