以编程方式居中WebView

时间:2012-06-06 16:24:54

标签: java android layout webview

我是基于从服务器收到的JSON以编程方式创建控件的。我需要创建的一个控件是WebView,它在屏幕上水平居中。这在xml布局中很简单,如下所示,使用layout_gravity选项。但是,如何在代码中执行此操作,与WebView不同的TextView没有setGravity(Gravity.HORIZONTAL_GRAVITY_MASK)方法。

<?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" >

<WebView 
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center"/>

</LinearLayout>

2 个答案:

答案 0 :(得分:2)

我会使用RelativeLayout,然后在添加视图时可以使用LayoutParams:

RelativeLayout.LayoutParams layoutParams= new RelativeLayout.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT);
layoutParams.addRule(RelativeLayout.CENTER_IN_PARENT, 1);
relativeLayout.addView(yourWebView, layoutParams);

答案 1 :(得分:0)

我使用LinearLayout来显示webview和setGravity。

       LinearLayout linearLayout = new LinearLayout(this);
    linearLayout.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT,
            LayoutParams.FILL_PARENT));
    linearLayout.setGravity(Gravity.CENTER);
    WebView view = new WebView(this);
    linearLayout.addView(view);
    setContentView(linearLayout);

它会帮助你。