关闭

PopupWindow

82人阅读 评论(0) 收藏 举报

package com.example.day11;

 

import android.app.Activity;

import android.graphics.Color;

import android.graphics.drawable.ColorDrawable;

import android.os.Bundle;

import android.view.Gravity;

import android.view.Menu;

import android.view.MenuItem;

import android.view.View;

import android.view.View.OnClickListener;

import android.view.ViewGroup;

import android.widget.Button;

import android.widget.PopupWindow;

import android.widget.Toast;

 

public class MainActivity extends Activity implements OnClickListener {

 

private PopupWindow pw;

private Button bt1;

private Button bt2;

private Button bt3;

 

 

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

bt1 = (Button) findViewById(R.id.bt1);

bt2 = (Button) findViewById(R.id.bt2);

bt3 = (Button) findViewById(R.id.bt3);

bt1.setOnClickListener(this);

bt2.setOnClickListener(this);

bt3.setOnClickListener(this);

initPopuWindow();

}

 

/**

 * 初使化PopuWindow

 */

private void initPopuWindow() {

View view = View.inflate(MainActivity.this, R.layout.popu, null);

Button pw_bt1 = (Button) view.findViewById(R.id.pw_bt1);

pw_bt1.setOnClickListener(this);

//创建PopupWindow     

pw = new PopupWindow(view, ViewGroup.LayoutParams.WRAP_CONTENT, 

ViewGroup.LayoutParams.WRAP_CONTENT);

//获得焦点   按返回键消失popuWindow

//pw.setFocusable(true);

//点击外部的话让popuWindow消失

pw.setOutsideTouchable(false);

//PopupWindow设置背景

pw.setBackgroundDrawable(new ColorDrawable(Color.RED));

}

 

 

/**

 * 

 */

@Override

public void onClick(View v) {

switch (v.getId()) {

case R.id.bt1:

//相对于某一个控件弹出popuWindow

pw.showAsDropDown(bt1);

break;

case R.id.bt2:

////相对于某一个控件弹出popuWindow 可以设置popuWindow的位置

pw.showAsDropDown(bt2, 300, 100);

break;

case R.id.bt3:

pw.showAtLocation(bt3, Gravity.LEFT+Gravity.BOTTOM, 20, 20);

break;

case R.id.pw_bt1:

//popuWindow消失

pw.dismiss();

Toast.makeText(MainActivity.this, "我点击了popwWindow里面的按钮1", 0).show();

break;

 

 

}

}

 

}

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:24046次
    • 积分:714
    • 等级:
    • 排名:千里之外
    • 原创:42篇
    • 转载:46篇
    • 译文:0篇
    • 评论:1条
    最新评论