Android开发之旅一PopupWindow写的一个基类和PopupWindow中EditText输入法的问题

本文介绍了一种在Android应用中实现PopupWindow的方式。通过自定义的Pop类,开发者可以轻松地在应用程序中添加弹出窗口功能。代码示例展示了如何设置PopupWindow的位置、背景颜色及其动画效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

呵呵,几乎看遍了,才找到解决的方法,看看下面的代码




import android.app.Activity;
import android.graphics.BitmapFactory;
import android.graphics.Color;
import android.graphics.drawable.BitmapDrawable;
import android.graphics.drawable.ColorDrawable;
import android.view.Gravity;
import android.view.View;
import android.view.WindowManager;
import android.widget.PopupWindow;

import com.mobile.consumer.R;

/**
 * 
 * @author joke
 * 
 * panel类
 *
 */
public class Pop {
	
	private PopupWindow pop; //弹出窗口
	private View parentView; //窗口依赖的父类view
	private Activity mContext;
	
	public Pop(Activity context,View pView) {
		// TODO Auto-generated constructor stub
		
		this.mContext=context;
		this.parentView=pView;
		
	}
	
	//创建一个panel
	public void init(View view){
		pop=new PopupWindow(view, WindowManager.LayoutParams.MATCH_PARENT,WindowManager.LayoutParams.MATCH_PARENT,false);
		
		pop.setFocusable(true);
		pop.setInputMethodMode(PopupWindow.INPUT_METHOD_NEEDED);
		pop.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);
		
		ColorDrawable dw = new ColorDrawable(Color.parseColor("#cccccc"));
		pop.setBackgroundDrawable(dw);
		pop.setAnimationStyle(R.style.panel);
		pop.showAtLocation(parentView, Gravity.BOTTOM, 0,0);
		
		
	}
	
	//关闭
	public void close(){
		if(null != pop){
			pop.dismiss();
		}
	}

}

测试例子



import android.app.Activity;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.WindowManager;


import com.mobile.pop.Pop;

public class test extends Pop{

	public test(Activity context, View pView) {
		super(context, pView);
		// TODO Auto-generated constructor stub
		
		View view=LayoutInflater.from(mContext).inflate(R.layout.mysize_add_activity, null);
		
		init(view);
	}


}


打完下班了,哈哈

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值