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

时间:2010-07-30 06:44:00

标签: android view webview screen-orientation


我在屏幕中间的活动中显示WebView时遇到问题。 我有一个活动,我想在屏幕中心显示一个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 个答案:

答案 0 :(得分:1)

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

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

layout_gravity="center_horizontal|center_vertical"

和/或周围的linearLayout或您使用的任何内容:

gravity="center_horizontal|center_vertical"

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