0


在屏幕中间的活动中显示 WebView 时遇到问题。我有一个活动,我想在屏幕中央显示一个 webview。我的活动是透明的,所以后台活动将是可见的。每当我尝试使用 setContentView(webview) 创建 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);
}
.

4

1 回答 1

1

setContentView(webview)是不可能的,你确定你在这里传递 webView 作为参数吗?它应该是布局资源的 id。还是你的意思addView

您应该将 WebView 放在布局资源中并添加 layout_gravity 属性,以

layout_gravity="center_horizontal|center_vertical"

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

gravity="center_horizontal|center_vertical"

请提供您的代码以获得更多说明。

于 2010-07-30T06:49:43.577 回答