android PopupWindow例子(代码片段)

指定VIEW的onClick事件:

    private PopupWindow popup_message;// 留言对话框

    /**
     * 全局Click事件
     */
    @Override
    public void onClick(View v) {
        if (v == btnMessage) {// 留言
            getPopupWindowByMessage();
            popup_message.showAtLocation(findViewById(R.id.layout_main), Gravity.CENTER | Gravity.CENTER, 0, 0);
        }
    }

    /**
     * 获取PopupWindow实例
     *
     * @author SHANHY
     */
    private void getPopupWindowByMessage() {
        if (null != popup_message) {
            popup_message.dismiss();
            return;
        } else {
            initPopupWindowByMessage();
        }
    }

    /**
     * 创建PopupWindow(留言)
     *
     * @author SHANHY
     */
    protected void initPopupWindowByMessage() {

        View popupWindow_view = getLayoutInflater().inflate(R.layout.popupwindow_message, null, false); // 获取自定义布局文件popup.xml的视图
        popup_message = new PopupWindow(popupWindow_view, LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT, true);// 创建PopupWindow实例
        Button btnSure = (Button) popupWindow_view.findViewById(R.id.btn_sure);// dialog.xml视图里面的控件
        Button btnCancel = (Button) popupWindow_view.findViewById(R.id.btn_cancel);// dialog.xml视图里面的控件

        // popup.setBackgroundDrawable(getResources().getDrawable(R.drawable.panel_bg));

        popup_message.setBackgroundDrawable(new BitmapDrawable()); // 响应返回键必须的语句。请放心,设置 BackgroundDrawable 并不会改变你在配置文件中设置的背景颜色或图像。
        popup_message.setFocusable(true);// menu菜单获得焦点 如果没有获得焦点menu菜单中的控件事件无法响应
        popup_message.update();

        // 返回键关闭
        popupWindow_view.findViewById(R.id.layout_main).setOnKeyListener(new View.OnKeyListener() {
            
            @Override
            public boolean onKey(View v, int keyCode, KeyEvent event) {
                 if (event.getAction() == KeyEvent.ACTION_DOWN && keyCode == KeyEvent.KEYCODE_BACK)
                     if (popup_message != null && popup_message.isShowing())
                         popup_message.dismiss();
                return false;
            }
        });

        btnSure.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {// 留言

            }
        });
        btnCancel.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                if (popup_message != null && popup_message.isShowing())
                    popup_message.dismiss();
            }
        });
    }

时间: 2025-01-03 19:05:02

android PopupWindow例子(代码片段)的相关文章

Android开发常用代码片段

1.图片旋转 Bitmap bitmapOrg = BitmapFactory.decodeResource(this.getContext().getResources(), R.drawable.moon); Matrix matrix = new Matrix(); matrix.postRotate(-90);//旋转的角度 Bitmap resizedBitmap = Bitmap.createBitmap(bitmapOrg, 0, 0, bitmapOrg.getWidth(),

Android实用的代码片段 常用代码总结_Android

1:查看是否有存储卡插入 复制代码 代码如下: String status=Environment.getExternalStorageState(); if(status.equals(Enviroment.MEDIA_MOUNTED)) {    说明有SD卡插入 } 2:让某个Activity透明 OnCreate中不设Layout this.setTheme(R.style.Theme_Transparent); 以下是Theme_Transparent的定义(注意transparent

Android实用的代码片段 常用代码总结

1:查看是否有存储卡插入 复制代码 代码如下: String status=Environment.getExternalStorageState(); if(status.equals(Enviroment.MEDIA_MOUNTED)) {    说明有SD卡插入 } 2:让某个Activity透明 OnCreate中不设Layout this.setTheme(R.style.Theme_Transparent); 以下是Theme_Transparent的定义(注意transparent

Android官方入门文档[16]创建一个Fragment代码片段

Android官方入门文档[16]创建一个Fragment代码片段   Creating a Fragment创建一个Fragment代码片段   This lesson teaches you to1.Create a Fragment Class2.Add a Fragment to an Activity using XML You should also read•Fragments 这节课教你1.创建一个Fragment代码片段类2.使用XML来添加一个Fragment代码片段给一个活

Android PopupWindow全屏详细介绍及实例代码_Android

 Android PopupWindow全屏 很多应用中经常可以看到弹出这种PopupWindow的效果,做了一个小demo分享一下.demo的思路是通过遍历文件,找到图片以及图片文件夹放置在PopupWindow上面.点击按钮可以弹出这个PopupWindow,这里为PopupWindow设置了动画. PopupWindow全屏代码提要 受限需要自定义Popupwindow,这里不看Popupwindow里面要展示的内容,主要是设置Popupwindow的高度. public class Po

Android JAVA 语言基础例子代码

Android的界面一般都是java开发的,因此对于c++,.net人员来说理解和编写有一个适应过程,最近参考了一下资料,把这些涉的一些java基础使用以例子代码的形式总结起来,记录了这个平台的熟悉过程. 文件目录(涉及了java的一些主要语法) AnnotDefine.java AnnotDemo.java             ClassDemo.java CodeResource_en_US.java    Collection.java demo.java               

Android自定义popupwindow实例代码_Android

先来看看效果图: 一.布局  <?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&qu

非常有用的50个CSS代码片段

原文:50 Useful CSS Snippets Every Designer Should Have          面对每年如此多的 新趋势 ,保持行业的领先是个很困难问题. 网站设计者和前端工程师都已经全面的使用 CSS3 properties, 决定这些的是 浏览器支持 和新的特性. 但是还是有些优秀的CSS2代码片段和CSS3一起运行中.       这篇文字里我会介绍 50 个便于使用的 CSS2/CSS3 代码片段 给所有的WEB专业人员. 选择IDE开发环境来存储这些是个不错

Dreamweaver8创建自定义代码片段的方法

dreamweaver|dreamweaver8|创建 一个好的"偷懒"方法,就好比充满困难的路途中出现一盏明灯,简化了好多繁杂的工作,让你有更多精力做其他事情,做的更顺手. DW作为网页制作的辅助工具之一,已经被人们逐渐掌握并灵活使用,它本身集成了好多实用的东西,给我们的工作带来了很多便利,每当有朋友问我"如何开始学做网页,要看什么书,从哪里入手?"我都会推荐他看DW"帮助"中的"Dreamweaver 入门",这是最实用的