关于popwindow的简单实例

原创 2013年12月04日 17:02:53

popwindow,就是一个弹出窗口,可以实现浮层效果,而且可以自定义显示位置,出现和退出时的动画.

两个xml布局,一个是主布局,一个是弹窗布局!!!主xml布局随便写,只是一个相应时间的启动而已,笔者只写了一个TextView!弹窗布局写了三个Button,用来显示弹窗!

吐舌头详细就不写出来了


写一个类继承popwindow类,然后在构造函数中,实现有关功能!

package com.example.androidpopwindow;

import android.app.ActionBar.LayoutParams;
import android.app.Activity;
import android.content.Context;
import android.graphics.drawable.ColorDrawable;
import android.view.LayoutInflater;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.PopupWindow;

public class MyPopWindows extends PopupWindow {
    private View menuView;
    private Button btn1,btn2,btn3;
    public MyPopWindows(Activity context,OnClickListener listener) {
        super(context);
        LayoutInflater inflater = (LayoutInflater) context
                .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        menuView=inflater.inflate(R.layout.popbutton, null);
        btn1=(Button)menuView.findViewById(R.id.button1);
        btn2=(Button)menuView.findViewById(R.id.button2);
        btn3=(Button)menuView.findViewById(R.id.button3);
        btn3.setOnClickListener(new OnClickListener() {
            
            @Override
            public void onClick(View arg0) {
                // TODO Auto-generated method stub
                dismiss();
            }
        });
        btn1.setOnClickListener(listener);
        btn2.setOnClickListener(listener);
        this.setContentView(menuView);
        
        this.setWidth(LayoutParams.FILL_PARENT);
        this.setHeight(LayoutParams.WRAP_CONTENT);
        this.setFocusable(true);
        this.setAnimationStyle(android.R.anim.slide_in_left);
        ColorDrawable dw = new ColorDrawable(0xb0000000);
        this.setBackgroundDrawable(dw);
        
        menuView.setOnTouchListener(new View.OnTouchListener() {
            
            @Override
            public boolean onTouch(View arg0, MotionEvent event) {
                // TODO Auto-generated method stub
                int height = menuView.findViewById(R.id.layout).getTop();
                int y=(int) event.getY();
                if(event.getAction()==MotionEvent.ACTION_UP){
                    if(y<height){
                        dismiss();
                    }
                }               
                return true;
            }
        });
    }
}

在主类调用自己写的popwindow类,并设置有关的监听函数!完成。。。

package com.example.androidpopwindow;

import android.app.Activity;
import android.app.AlertDialog;
import android.app.Dialog;
import android.os.Bundle;
import android.view.Gravity;
import android.view.View;
import android.view.WindowManager;
import android.view.View.OnClickListener;
import android.view.Window;
import android.widget.TextView;

public class MainActivity extends Activity {

    private TextView text_check;
    private MyPopWindows popwindow;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        text_check = (TextView) this.findViewById(R.id.text_check);
        text_check.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View arg0) {
                popwindow = new MyPopWindows(MainActivity.this, ls);
                popwindow.showAtLocation(text_check, Gravity.LEFT, 0, 0);
            }
        });
    }

    private OnClickListener ls = new OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            popwindow.dismiss();
            switch (v.getId()) {
                case R.id.button1:
                    System.out.println("1");
                    break;
                case R.id.button2:
                    System.out.println("2");
                    break;
                case R.id.button3:
                    System.out.println("3");
                    break;
            }
        }
    };
}

这就是一个简单的popwindow实例,其实popwindow功能很强大,的很多有趣的功能都可以使用它实现


版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

IOS学习之ActionSheet,传说中的popWindow(三)

IOS ActionSheet使用频率很高的一个控件

PopWindow简单应用

  • 2014-10-10 09:38
  • 2.30MB
  • 下载

popwindow简单代码

  • 2014-02-24 11:26
  • 1.26MB
  • 下载

自定义单选、多选对话框及popwindow窗口实例源码

截图: 源码下载 链接:http://pan.baidu.com/s/1hqH8sFa 密码:j5gh

popwindow 简单例子

  • 2012-08-08 16:56
  • 1.27MB
  • 下载

简单的popwindow实现某个模块下拉单效果

利用popwindow实现在任意控件下的效果,只需改动showAsDropDown里的view的位置即可  看例子   下载地址http://download.csdn.net/detail/u01...

popwindow的简单封装

  • 2017-08-10 15:38
  • 34.25MB
  • 下载

Android简单PopWindow的实现方法。

直接上代码。 首先是布局: activity_main.xml中:<RelativeLayout xmlns:android="http://schemas.android.com/apk/res...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)