PopupWindow --- 弹出底部窗体
第一步 : 布局文件
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="horizontal" > <LinearLayout
android:id="@+id/menu_close"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@drawable/menu_bg" //背景图片 9
android:gravity="center"
android:orientation="vertical" > <LinearLayout
android:id="@+id/menu_close_btn"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@drawable/menu_btn_bg" // 选择器
android:gravity="center"
android:orientation="vertical" > <ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/btn_close" /> // 关闭的图标
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="退出"
android:textColor="#eee" />
</LinearLayout>
</LinearLayout> </LinearLayout>

第二步 点击 事件 调出 PopupWindow 的方法
    if (!menu_display) {    //如果没有显示
                // 获取LayoutInflater实例
                inflater = (LayoutInflater) this
                        .getSystemService(LAYOUT_INFLATER_SERVICE);
                // 这里的main布局是在inflate中加入的哦,以前都是直接this.setContentView()的吧?呵呵
                // 该方法返回的是一个View的对象,是布局中的根
                layout = inflater.inflate(R.layout.main_menu, null);
                menuWindow = new PopupWindow(layout, LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT); // menuWindow.showAsDropDown(layout); //设置弹出效果
                // menuWindow.showAsDropDown(null, 0, layout.getHeight());
                menuWindow.showAtLocation(this.findViewById(R.id.mainweixin),  // 整个布局的下面
                        Gravity.BOTTOM | Gravity.CENTER_HORIZONTAL, 0, 0); // 设置layout在PopupWindow中显示的位置
                // 如何获取我们main中的控件呢?也很简单
                mClose = (LinearLayout) layout.findViewById(R.id.menu_close);
                mCloseBtn = (LinearLayout) layout
                        .findViewById(R.id.menu_close_btn);
                // 下面对每一个Layout进行单击事件的注册吧。。。
                // 比如单击某个MenuItem的时候,他的背景色改变
                // 事先准备好一些背景图片或者颜色
                mCloseBtn.setOnClickListener(new View.OnClickListener() {
                    @Override
                    public void onClick(View arg0) {
                        // Toast.makeText(Main.this, "退出",
                        // Toast.LENGTH_LONG).show();
                        Intent intent = new Intent();
                        intent.setClass(MainWeixin.this, Exit.class);
                        startActivity(intent);
                        menuWindow.dismiss(); // 响应点击事件之后关闭Menu
                    }
                });
                menu_display = true;
            } else {  //显示了
                // 如果当前已经为显示状态,则隐藏起来
                menuWindow.dismiss();
                menu_display = false;
            }
PopupWindow --- 弹出底部窗体的更多相关文章
- DevExpress第三方控件使用实例之ASPxPopupControl弹出子窗体
		弹出页面控件:ASPxPopupControl, <dxpc:ASPxPopupControl ID="popubCtr" runat="server" ... 
- Android popupwindow  弹出的位置问题
		在Android开发中,需要用到PopupWindow这个类.在初始化完成,显示之前,都需要获得这个对象的width,height去计算popupWindow弹出的位置. 这个时候会发现取得的widt ... 
- 练习PopupWindow弹出框之实现界面加载的时候显示弹出框到指定的view下面--两种延迟方法
		今天在练习PopupWindow弹出框的时候,打算在界面加载的时候将弹出框展现出来并显示在指定的view下面. 初步方法是直接在OnResume方法里面直接执行showPopupWindows方法. ... 
- MyEclipse弹出提示窗体
		MyEclipse弹出提示窗体 1.弹窗例如以下 
- WPF 介绍一种在MVVM模式下弹出子窗体的方式
		主要是通过一个WindowManager管理类,在window后台代码中通过WindowManager注册需要弹出的窗体类型,在ViewModel通过WindowManager的Show方法,显示出来 ... 
- WPF的WebBrowser屏蔽弹出脚本错误窗体
		WPF自带的WebBrowser在訪问一些有问题的网页时常常跳出非常多提示脚本错误的窗体, 可是WPF没有自带屏蔽这些窗体的方法或属性. 所以网上找来一使用反射的方法来屏蔽弹出脚本错误窗体的方法, 非 ... 
- WPF 在MVVM模式下弹出子窗体的方式
		主要是通过一个WindowManager管理类,在window后台代码中通过WindowManager注册需要弹出的窗体类型,在ViewModel通过WindowManager的Show方法,显示出来 ... 
- 自定义PopupWindow弹出框(带有动画)
		使用PopupWindow来实现弹出框,并且带有动画效果 首先自定义PopupWindow public class LostPopupWindow extends PopupWindow { pub ... 
- [Prism框架实用分享]如何在主程序中合理的弹出子窗体
		大家好 说起子窗体,大家都会想到ChildWindow,多熟悉的一个控件.不错,Sliverlight中已经提供了子窗体的具体实现,而在WPF中却没有这么好的事情(有的第三方控件商已经提供此控件).最 ... 
随机推荐
- xpath取最后一个元素
			取xpath最后一个book元素 book[last()] 取xpath最后第二个book元素 book[last()-1] 
- 数组元素的删除 【vector】
			7-5 数组元素的删除(5 分) 完成数组元素的移动功能:假设数组有n个元素,输入一个数x,把数组的第x个位置的元素删除了,后面的元素依次前进一个位置. 重复若干次这样的删除,得到最后的结果. 输入格 ... 
- dojo  官方翻译  dojo/domReady  版本1.10
			官方地址:http://dojotoolkit.org/reference-guide/1.10/dojo/domReady.html#dojo-domready dom加载完成后,执行. requi ... 
- css属性background
			一.background-size 1.具体设定的px值,及北背景图片的具体宽高 2.设定的百分比,相对于容器的宽高 3.设定三个铺设类型: (1)cover: 以宽 / 高 为基本,尽可能的去铺满整 ... 
- python中的enumerate()函数用法
			enumerate函数用于遍历序列中的元素以及它们的下标,可以非常方便的遍历元素. 比如我在往excel中写数据时就用到了这个函数: data = [] data.append(('预约码', '车牌 ... 
- stl_multimap.h
			stl_multimap.h // Filename: stl_multimap.h // Comment By: 凝霜 // E-mail: mdl2009@vip.qq.com // Blog: ... 
- 如何在MySQl数据库中给已有的数据表添加自增ID?
			由于使用MySQL数据库还没有多久的缘故,在搭建后台往数据库导入数据的时候发现新增的表单是没有自增id的,因次就有了上面这个问题. 解决方法 1.给某一张表先增加一个字段,这里我们就以node_tab ... 
- C++之this指针与另一种“多态”
			一.引入 定义一个类的对象,首先系统已经给这个对象分配了空间,然后会调用构造函数(说明:假设存在构造函数--2010.9.5修正). 一个类有多个对象,当程序中调用对象的某个函数时,有可能要访问到这个 ... 
- AAC头部格式
			一共有2种AAC头格式,一种是StreamMuxConfig,另一种是AudioSpecificConfig 1.AudioSpecificConfig 读写header的代码参考 ffmpeg ... 
- bzoj3224Treap
			Splay版本的会补... 在学了2个小时Splay之后深感Treap的优越 特地又花了20分钟打了个Treap 至于这些平衡树的优缺点 可以用平衡方式来直观的感受到 现在平衡树们面对着这样的一个问题 ... 
