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で見つからなかったのは、このレイアウトにWebビューを追加する方法です

<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 に答える