Activity初始化加载PopUpWindow

  1. package cn.sd.sx.initpopw;  
  2.   
  3. import android.app.Activity;  
  4. import android.graphics.Color;  
  5. import android.os.Bundle;  
  6. import android.os.Handler;  
  7. import android.view.Gravity;  
  8. import android.view.View;  
  9. import android.view.ViewGroup.LayoutParams;  
  10. import android.widget.LinearLayout;  
  11. import android.widget.PopupWindow;  
  12. import android.widget.TextView;  
  13. import cn.sd.sx.popw.R;  
  14.   
  15. public class PopWActivity extends Activity {  
  16.       
  17.     private PopupWindow mPopupWindow;  
  18.     private Handler mHandler;  
  19.     // 检测时间间隔  
  20.     private int detchTime = 5;  
  21.       
  22.     @Override  
  23.     public void onCreate(Bundle savedInstanceState) {  
  24.         super.onCreate(savedInstanceState);  
  25.         setContentView(R.layout.main);  
  26.         mHandler = new Handler();  
  27.         // 显示popWindow  
  28.         showPopWindow();  
  29.     }  
  30.   
  31.     private void showPopWindow()  
  32.     {  
  33.         LinearLayout view = new LinearLayout(this);  
  34.         LayoutParams params = new LayoutParams(LayoutParams.FILL_PARENT,  
  35.                 LayoutParams.FILL_PARENT);  
  36.         TextView txt1 = new TextView(this);  
  37.         txt1.setLayoutParams(params);  
  38.         txt1.setGravity(Gravity.CENTER);  
  39.         txt1.setText("txt1");  
  40.         txt1.setBackgroundColor(Color.RED);  
  41.         view.addView(txt1);  
  42.         mPopupWindow = new PopupWindow(view, 300,300);  
  43.         mPopupWindow.setOutsideTouchable(true);  
  44.           
  45.         /*****************以下代码用来循环检测activity是否初始化完毕***************/  
  46.         Runnable showPopWindowRunnable = new Runnable() {  
  47.               
  48.             @Override  
  49.             public void run() {  
  50.                 // 得到activity中的根元素  
  51.                 View view = findViewById(R.id.main);  
  52.                 // 如何根元素的width和height大于0说明activity已经初始化完毕  
  53.                 if( view != null && view.getWidth() > 0 && view.getHeight() > 0) {  
  54.                     // 显示popwindow  
  55.                     mPopupWindow.showAtLocation(PopWActivity.this.findViewById(R.id.main),  
  56.                             Gravity.CENTER, 00);  
  57.                     // 停止检测  
  58.                     mHandler.removeCallbacks(this);  
  59.                 } else {  
  60.                     // 如果activity没有初始化完毕则等待5毫秒再次检测  
  61.                     mHandler.postDelayed(this, detchTime);  
  62.                 }  
  63.             }  
  64.         };  
  65.         // 开始检测  
  66.         mHandler.post(showPopWindowRunnable);  
  67.       /******************以上代码用来循环检测activity是否初始化完毕*************/  
  68.     }  
  69. }  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值