【第22期】观点:IT 行业加班,到底有没有价值?

关于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的简单实用

一个自定义的对话框

自定义 Popwindow

popwindow 是比较常用的一种控件,为了灵活使用,会自定义 popwidow ,继承 popwindow。 这篇文章主要介绍如何自定义 popwindow ,同时响应 popwindow 中 v...

手把手教会popupWindow从下往上弹出效果的实现

效果如图所示,点击开始按钮,popWindow从下往上出来,再点击popWindow外面,popWindow又从上往下消失 可以看出来,上面的popupWindow是半透明的,后面我会细...

Popwindow的使用

1.在maniAcitity里面写package com.bawei.day11_popwindow; import android.os.Bundle; import android.app.Ac...

Popwindow的介绍和使用

前言 本篇文章主要介绍Popwindow的基本使用方法,首先根据官方文档,介绍它的构造方法,属性,和部分方法介绍,细节请查看官方文档,然后介绍我在项目中是怎么使用的,以及遇到的问题。本篇文章适用新手...

popwindow 常用方法

常用的方法: dismiss()   关闭弹出的窗口 getContentView getBackground isClippingEnabled是否裁剪启用 isFocusable是否弹出...

PopupWindow之动态生成

最近做项目时,需要使用到PopupWindow,里面的格式必须是动态的。 所以,我把实现瀑布流的那个原理应用到了这里。看图吧。。 步骤: 1、首先在布局文件中划分成两列。li...

PopWindow的实现功能

public class Main extends Activity { PopupWindow popupWindow; Button showButton; @Override prote...

PopupWindow的使用、位置控制

闲来无事,索性就复习了一下PopupWindow的使用。由于一般情况下,大多数PopupWindow都是显示在控件下面,所以只呈现了一种情况,基本够用了。public class MainActivi...
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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