PopUpWindow从服务启动时不显示Webview

时间:2014-12-05 07:13:05

标签: android

我正在尝试在popupwindow中显示由服务显示的webview。当用户
触摸服务显示的图像,然后弹出窗口应显示在其中显示webview 整个过程的代码如下:

ChatHeadService.java

public class ChatHeadService extends Service {
  private WindowManager windowManager;
  float screenWidth=0, screenHeight=0;

  private ImageView chatHead;
  WindowManager.LayoutParams params;

  WebView popUpWebView;

  private static final int MAX_CLICK_DURATION = 200;
  private long startClickTime;

  private GestureDetector gestureDetector;
  @Override public IBinder onBind(Intent intent) {
    // Not used
    return null;
  }

  @Override public void onCreate() {
    super.onCreate();

    screenWidth= getResources().getDisplayMetrics().widthPixels;
    screenHeight= getResources().getDisplayMetrics().heightPixels;

    windowManager = (WindowManager) getSystemService(WINDOW_SERVICE);

    params = new WindowManager.LayoutParams(
        WindowManager.LayoutParams.WRAP_CONTENT,
        WindowManager.LayoutParams.WRAP_CONTENT,
        WindowManager.LayoutParams.TYPE_PHONE,
        WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE,
        PixelFormat.TRANSLUCENT);

    params.gravity = Gravity.TOP | Gravity.LEFT;
    params.x = 0;
    params.y = 0;

    chatHead = new ImageView(this);
    chatHead.setImageResource(R.drawable.ic_launcher);

    windowManager.addView(chatHead, params);
    addChatHeadListener();
  }

  public void addChatHeadListener(){
      chatHead.setOnClickListener(new OnClickListener() {
          public void onClick(View arg0) {
              showPopUpWindow();
          }
      });
  }

  public void showPopUpWindow(){
        LayoutInflater layoutInflater = (LayoutInflater)getBaseContext()
                .getSystemService(LAYOUT_INFLATER_SERVICE);  
        View popupView = layoutInflater.inflate(R.layout.popupwindow, null);  
        final PopupWindow popupWindow = new PopupWindow(popupView, 
                                                (int)screenWidth,  
                                                (int)screenHeight);

        popupWindow.setFocusable(true);
        popupWindow.setBackgroundDrawable (new BitmapDrawable());

        popUpWebView = (WebView) popupView.findViewById(R.id.idWebView1);
        popUpWebView.getSettings().setJavaScriptEnabled(true);
        popUpWebView.setWebViewClient(new WebViewClient() {
            @Override
            public boolean shouldOverrideUrlLoading(WebView view, String url) {
                view.loadUrl(url);
                return true;
            }
        });
        popupWindow.showAsDropDown(chatHead, 0, 0);
        popUpWebView.loadUrl("http://wwww.google.co.in");
  }
}

这是我的xml文件
popupwindow.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="#ffffff" >
<WebView 
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="#ffffff"
    android:id="@+id/idWebView1"/>
</LinearLayout>

当我点击图标但是当我使用textview而不是webview时,问题没有显示 它成功地显示了textview。

0 个答案:

没有答案