1

出于某种原因(比如加载并且不要想太久),我需要通过代码创建一个 Web 视图并在 2 秒后显示它,而不是立即我有一个指向我的上下文的指针。我有一个相对布局的 id。

我尝试了一些代码,但我什么也没看到,我不知道是位置不好还是视图不好。

那么在没有任何 XML 的情况下制作 match_parent 的简单 web 视图的好方法是什么?有样品吗?

我尝试了什么(我知道它不在匹配父级中,这是一个测试,或者如果她存在,则查看视图的限制,但我什么也没看到)

web = new WebView(context);
web.setLayoutParams(new LayoutParams(200, 200));
web.setX(400);
web.setY(400);
web.bringToFront(); 

我的 xml 我没有找到的东西是怎么说我在这个布局中添加我的 webview

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/main"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".Main" >    
</RelativeLayout>
4

2 回答 2

4

您需要将其添加到您的根视图中。它是创建的,但漂浮在周围,与任何视图无关。

RelativeLayout main = (RelativeLayout) findViewById(R.id.main);

WebView web = new WebView(context);
web.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, 
    LayoutParams.MATCH_PARENT));

main.addView(web); // <--- Key line
于 2013-06-10T07:45:45.133 回答
0
final WebView wv = new WebView(main);
new AsyncTask<Void,Void,Void>(){
    @Override
    protected Void doInBackground(Void... params) {
        try {
            Thread.sleep(2000);
        } catch (InterruptedException ex){
            ex.printStackTrace();
        }
        return null;
    }

    @Override
    protected void onPostExecute(Void result) {
        mainLayout.addView(wv);
        LayoutParams params = wv.getLayoutParams();
        // Edit those params as you need, then call
        wv.setLayoutParams(params);
    }   

}.execute();
于 2013-06-10T07:45:28.443 回答