文档章节

一个简单的PopupWindow做的选项菜单点击按钮会在按钮下弹出几个下拉控件

HWJ-杰杰
 HWJ-杰杰
发布于 2014/04/28 15:25
字数 365
阅读 1096
收藏 0

下载源码

先看效果:

下面是java代码:

package com.example.cest;

import android.app.Activity;
import android.graphics.drawable.PaintDrawable;
import android.os.Bundle;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.PopupWindow;
import android.widget.TextView;
import android.widget.Toast;
public class MainActivity extends Activity {
	PopupWindow popupWindow;
	TextView view1;
	TextView view2;
	Button button;
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		button=(Button) findViewById(R.id.bu);
		button.setOnClickListener(new OnClickListener() {
			@Override
			public void onClick(View arg0) {
				// TODO Auto-generated method stub
				popinit();
			}
		});
	}
	protected void popinit() {
		// TODO Auto-generated method stub
		LayoutInflater inflater = LayoutInflater.from(this);
		View pop_view = inflater.inflate(R.layout.bujv, null);
		view1=(TextView) pop_view.findViewById(R.id.tv1);
		view2=(TextView) pop_view.findViewById(R.id.tv2);
		                                      //设置下拉按钮父布局的高和宽
		popupWindow = new PopupWindow(pop_view,ViewGroup.LayoutParams.WRAP_CONTENT,ViewGroup.LayoutParams.WRAP_CONTENT);
		popupWindow.setFocusable(true);//没这行按钮下拉了,按手机返回会直接退出
//		popupWindow.setOutsideTouchable(true);
		popupWindow.setBackgroundDrawable(new PaintDrawable());//没这行按钮下拉了不会消失
		popupWindow.showAsDropDown(button);//设置下拉按钮在button下显示

		view1.setOnClickListener(new OnClickListener() {
			@Override
			public void onClick(View v) {
				// TODO Auto-generated method stub
         
       				Toast.makeText(MainActivity.this, "这是注册",Toast.LENGTH_LONG).show();
                                   popupWindow.dismiss(); //销毁popupwindow,没这个再返回下拉的按钮不会消失  
			}
		});
		view2.setOnClickListener(new OnClickListener() {
			@Override
			public void onClick(View v) {
				// TODO Auto-generated method stub
				Toast.makeText(MainActivity.this, "这是登录",Toast.LENGTH_LONG).show();
                                popupWindow.dismiss(); 
			}
		});
	}

}

下面是bujv.xml文件:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"

    android:orientation="vertical" >
    <TextView 
        android:id="@+id/tv1"
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:background="@drawable/btn_style_one_disabled"
        android:textSize="20sp"
        android:text="注册"
        />
    <TextView 
        android:id="@+id/tv2"
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:background="@drawable/btn_style_one_disabled"
        android:textSize="20sp"
        android:text="登录"
        />
</LinearLayout>

© 著作权归作者所有

共有 人打赏支持
HWJ-杰杰
粉丝 0
博文 13
码字总数 2164
作品 0
南京
程序员
Android之自定义AlertDialog和PopupWindow实现(仿微信Dialog)

我们知道,在很多时候,我们都不用Android内置的一些控件,而是自己自定义一些自己想要的控件,这样显得界面更美观。 今天主要是讲自定义AlertDialog和popupWindow的使用,在很多需求中,我们...

moz1q1
2015/08/26
0
1
Android:PopupWindow

一、概述 1、构造方法 部分常用: PopupWindow(View contentView, int width, int height)Create a new non focusable popup window which can display the contentView.PopupWindow(View c......

Xushao
2013/12/16
0
2
popupwindow popupmenu dialog

private void iniPopupWindow() { LayoutInflater inflater = (LayoutInflater) this .getSystemService(Context.LAYOUTINFLATERSERVICE); View layout = inflater.inflate(R.layout.taskdet......

当空皓月
2014/10/29
0
0
Android 朋友圈 输入框评论效果

在xlistview 底部 重叠一个EditText 初始在程序中让它隐藏 按下popupwindow评论按钮后先让输入法弹出, 让评论popupwindow隐藏,显示EditText InputMethodManager imm = (InputMethodManager...

yuhanxun
2013/01/30
0
1
Android 中 PopupWindow 在7.0后适配

这里主要记录一次踩坑的经历。 需求:如上图左侧效果,想在按钮的下方弹一个PopupWindow。嗯,很简单一个效果,然当适配7.0后发现这个PopupWindow显示异常,然后网上找到了下面这种方案。 7....

smart_dev
05/17
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

golang使用protobuf简易教程

参考文档:https://blog.csdn.net/qq_15437667/article/details/78425151 一、安装protobuf # 去github.com/golang/protobuf下载源码包,# 拷贝到 $GOPATH/src/github.com/golang/protobuf......

科陆李明
24分钟前
0
0
8月16日 上课截图

小丑鱼00
39分钟前
0
0
Nginx负载均衡、配置SSL

Nginx负载均衡 在 /usr/local/nginx/conf/vhost/ 下创建一个文件,写入以下内容 加载后用curl测试可以访问设置的网站 www.qq.com ssl原理 HTTPS是一种加密的http协议,如果HTTP通信的数据包在...

黄昏残影
43分钟前
0
0
String 源码阅读笔记

String源码阅读 本人学习笔记,内容来自于阅读源码和其他博客,水平有限,如有错误,烦请指正。 详情参考: Java 7 源码学习系列(一)——String 请别再拿“String s = new String("xyz");...

等到烟火清凉_
44分钟前
4
0
Coding and Paper Letter(十二)

资源整理。<!-- more --> 1 Coding: 1.R语言生成的ppt,GeoStat2018会议报告,时空模式分析的报告。 geostat18 2.欧空局哨兵和SMOS的工具集,关于对地观测数据的处理与分析的docker容器。 ...

胖胖雕
45分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部