代码之家  ›  专栏  ›  技术社区  ›  bhups

如何在屏幕中间的活动中显示WebView

  •  0
  • bhups  · 技术社区  · 14 年前


    在屏幕中间的活动中显示WebView时出现问题。 我有一个活动,我想在屏幕中央显示一个网络视图。我的活动是透明的,所以背景活动是可见的。每当我试图创建一个WebView并使用setContentView(WebView)将其添加到活动中时,它总是在屏幕的左上角显示该视图。他们是解决这个问题的方法吗?我只想通过纯代码来实现这一点。这是我的密码。

    protected void onCreate(Bundle savedInstance) {
        //some initialization stuff
        LinearLayout ll = new LinearLayout(activity); 
        ll.setOrientation(LinearLayout.VERTICAL);
        ll.setGravity(Gravity.CENTER_HORIZONTAL);
        ll.setLayoutParams(new LinearLayout.LayoutParams(ViewGroup.LayoutParams.FILL_PARENT, 
                            ViewGroup.LayoutParams.FILL_PARENT));
        ll.setBackgroundColor(android.R.color.transparent);
        ll.setGravity(Gravity.CENTER_HORIZONTAL | Gravity.CENTER_VERTICAL); //added after suggestion
        webView = new WebView(this);
        webView.getSettings().setJavaScriptEnabled(true);
        webView.getSettings().setBuiltInZoomControls(true);
        webView.loadUrl("http://www.google.com");
        ll.addView(webView);
        webView.setBackgroundColor(android.R.color.transparent);
        setContentView(ll);
    }
    .
    1 回复  |  直到 14 年前
        1
  •  1
  •   Mathias Conradt    14 年前

    setContentView(webview) 不可能,您确定要将WebView作为参数传递给这里吗?它应该是布局资源的ID。或者你的意思是 addView ?

    您应该将WebView放置在布局资源中,并将布局重力属性添加到

    layout_gravity="center_horizontal|center_vertical"
    

    和/或周围的线性布局或任何你使用的:

    gravity="center_horizontal|center_vertical"
    

    请提供您的代码以便进一步澄清。