我似乎无法显示我的WebView。我怀疑是因为它的大小是0.我不确定如何取消这个WebView的归零!
这是我的布局:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<WebView
android:id="@+id/webView1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true" />
</RelativeLayout>
这是我的onCreate():
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
View webViewLayout = ((LayoutInflater)this.getSystemService(Context.LAYOUT_INFLATER_SERVICE))
.inflate(R.layout.twitterfeed, null, false);
WebView webView = (WebView) webViewLayout.findViewById(R.id.webView1);
webView.getSettings().setDomStorageEnabled(true);
webView.getSettings().setJavaScriptEnabled(true);
String summary = "http://www.example.com";
webView.loadUrl(summary);
System.out.println("webView: " + webView.getWidth());
System.out.println("webView: " + webView.getHeight());
}
答案 0 :(得分:0)
您正在为您的布局充气但从未通过Activity.setContentView()
将其附加到应用窗口来显示它。使用
View webViewLayout = ((LayoutInflater)this.getSystemService(Context.LAYOUT_INFLATER_SERVICE))
.inflate(R.layout.twitterfeed, null, false);
setContentView(webViewLayout);
WebView webView = (WebView) webViewLayout.findViewById(R.id.webView1);
或者更简单地让框架为你做通货膨胀:
setContentView(R.layout.twitterfeed);
WebView webView = (WebView) findViewById(R.id.webView1);
答案 1 :(得分:0)
ViewTreeObserver对其全局布局侦听器进行了分类,并拥有自己的线程来测量布局维度。
webView.getViewTreeObserver().addOnGlobalLayoutListener(new OnGlobalLayoutListener()
{
@Override
public void onGlobalLayout()
{
System.out.println("webView: " + webView.getWidth());
System.out.println("webView: " + webView.getHeight());
}
});