Android中实现弹出窗体PopupWindow

网上有很多相关资料和应用,这里仅仅写一下自己PopupWindow弹出窗体的一个小应用

界面:



点击后显示如图所示的窗体,比Dialog更加优美。

	/*
	 * 弹出悬浮窗体
	 */
	private PopupWindow popupWindow;
 popupWindow=new PopupWindow(<strong>contentView</strong>, -2, -2);
                 popupWindow.setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
                 int[] location=new int[2];
                 view.getLocationOnScreen(location);
                 //在代码里面设置的宽高值都是像素。---》dip
                 int dip=60;
                 int px=DensityUtil.dip2px(getApplicationContext(), dip);
                //动画的播放必须给窗体设置背景颜色
                 //透明颜色也是一种颜色
                 popupWindow.showAtLocation(parent, Gravity.LEFT|Gravity.TOP, px, location[1]);
                 
                //实现动画效果
                 ScaleAnimation sa=new ScaleAnimation(0.3f, 1.0f, 0.3f, 1.0f, Animation.RELATIVE_TO_SELF, 0, Animation.RELATIVE_TO_SELF, 0.5f);
                 sa.setDuration(1000);
                 
                 AlphaAnimation aa=new AlphaAnimation(0.5f,1.0f);
                 aa.setDuration(1000);
                 AnimationSet set=new AnimationSet(false);
                 set.addAnimation(aa);
                 set.addAnimation(sa);
                 contentView.startAnimation(set);


上面实现了动画,非常简单的两个动画。

对于:

popupWindow=new PopupWindow(contentView, -2, -2);
中的 contentView
View contentView=View.inflate(getApplicationContext(), R.layout.popup_app_item, null);
                 
                 ll_start=(LinearLayout) contentView.findViewById(R.id.ll_start);
                 ll_share=(LinearLayout) contentView.findViewById(R.id.ll_share); 
                 ll_uninstall=(LinearLayout) contentView.findViewById(R.id.ll_uninstall);
                 





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值