2014-03-06 170 views
2

我正在瀏覽關於此主題的各種鏈接。我沒有發現任何有用的東西在我的情況。我想動態地在Android中創建一個Web View。我不會在xml佈局文件中添加任何內容。 現在我想特別做兩件事: 1.我想將此Web視圖的大小設置爲自定義寬度和高度,並將其設置在佈局的底部。 2.在Web視圖中加載頁面後。單擊Web視圖時,應調整其大小並全屏顯示(這意味着在其父級佈局中爲web視圖的寬度和高度填充fill_parent)。在android中添加動態web視圖

我當前的代碼看起來像下面這樣不工作特別好爲全屏。不適合的內容,以屏幕:

public class MainActivity extends Activity { 


    RelativeLayout layout; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 

     layout=(RelativeLayout)findViewById(R.id.test); 

     final WebView web = new WebView(this); 

     //web.setId(1); 
     web.getSettings().setJavaScriptEnabled(true); 
     web.loadData("<script type=\"text/javascript\" src=\"http://www..myurl.com/myfolder/banner.php\"></script>", null, null); 

     layout.addView(web, new LayoutParams(300,100)); 


     web.setOnTouchListener(new OnTouchListener() { 

      @Override 
      public boolean onTouch(View v, MotionEvent event) { 
       // TODO Auto-generated method stub 
       web.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT,LayoutParams.MATCH_PARENT)); 
       return false; 
      } 
     }); 
    } 
    @Override 
    public boolean onCreateOptionsMenu(Menu menu) { 
     // Inflate the menu; this adds items to the action bar if it is present. 
     getMenuInflater().inflate(R.menu.main, menu); 
     return true; 
    } 

} 
+0

你可以發佈兩種情況的屏幕截圖以便更好地理解嗎? –

回答

1

如果我正確理解你的問題,你可能要考慮的以下方法。首先,聲明並初始化(父)相對佈局及其參數,並將其設置爲內容視圖(刪除setContentView(R.layout.activity_main);)。

final RelativeLayout layout = new RelativeLayout(this); 

    final RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(
      getWindowManager().getDefaultDisplay().getWidth(), 
      getWindowManager().getDefaultDisplay().getHeight()); 

    layout.setLayoutParams(params); 

    setContentView(layout); 

然後,初始化Web視圖和它的參數,並添加「底部規則」的參數。

final WebView web = new WebView(this); 

    web.getSettings().setJavaScriptEnabled(true); 
    web.loadData(
      "<script type=\"text/javascript\" src=\"http://www..myurl.com/myfolder/banner.php\"></script>", 
      null, null); 

    RelativeLayout.LayoutParams webViewParams = new RelativeLayout.LayoutParams(
      300, 100); 
    webViewParams.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM); 

最後,將web視圖添加到您的(父級)相對佈局並添加其偵聽器。

layout.addView(web, webViewParams); 

    web.setOnTouchListener(new OnTouchListener() { 

     public boolean onTouch(View arg0, MotionEvent arg1) { 
      web.setLayoutParams(params); 
      return false; 
     } 
    }); 

希望這是你所需要的。

乾杯!