0


画面中央のアクティビティで WebView を表示しているときに問題が発生しています。アクティビティがあり、画面の中央に Web ビューを表示したいと考えています。私のアクティビティは透過的であるため、バックグラウンド アクティビティが表示されます。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);
}
.

4

1 に答える 1

1

setContentView(webview)ここで webView をパラメータとして渡していますか? レイアウト リソースの ID である必要があります。それともaddView

WebView をレイアウト リソースに配置し、layout_gravity 属性を追加する必要があります。

layout_gravity="center_horizontal|center_vertical"

および/または周囲のlinearLayoutまたは次の目的で使用するもの:

gravity="center_horizontal|center_vertical"

より明確にするためにコードを提供してください。

于 2010-07-30T06:49:43.577 に答える