2012-06-19 64 views
0

我已經爲我的android應用程序創建了一個webview,特別是我正在儘可能簡化應用程序以理解事物。我創建了一個webview來顯示其中的不同頁面。我只是簡單地創建了一個按鈕,該按鈕將url加載到webview中,該webview完全正常工作,但webview正在按鈕下方加載url。它不覆蓋主佈局或不在newpage中打開url。我看到webview中的網頁和它上面的按鈕。怎麼能擺脫這個按鈕。提前致謝。這是我的Java和XML代碼Webview在主佈局下顯示其內容

活動

public class TestinglinkActivity extends Activity { 
    final Activity activity = this; 
    WebView webview; 

    private class MyWebViewClient extends WebViewClient { 
     @Override 
     public boolean shouldOverrideUrlLoading(WebView view, String url) { 
      view.loadUrl(url); 
      return true; 


     } 
    } 


    @Override 
    public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 


    webview = (WebView) findViewById(R.id.webview); 
    webview.getSettings().setJavaScriptEnabled(true); 
    webview.setWebViewClient(new MyWebViewClient()); 

    webview.setWebChromeClient(new WebChromeClient() { 
     public void onProgressChanged(WebView view, int progress) 
     { 
      activity.setTitle("Loading..."); 
      activity.setProgress(progress * 100); 

      if(progress == 100) 
       activity.setTitle(R.string.app_name); 
     } 
    }); 


    Button btn_login = (Button) findViewById(R.id.btn_click_login); 
    btn_login.setOnClickListener(new OnClickListener() { 
     public void onClick(View v) { 
      webview.loadUrl("http://www.google.com.pk"); 
      webview.goBack(); 
      webview.goForward(); 

      } 
     } 
    ); 


      } 




} 

XML

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:isScrollContainer="true" 
     android:scrollbarAlwaysDrawVerticalTrack="true" 
     android:scrollbarStyle="outsideInset" 
     android:scrollbars="vertical" 
     android:scrollbarSize="10dp" 
     > 

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:orientation="vertical"> 

    <Button 
      android:id="@+id/btn_click_login" 
      android:layout_height="fill_parent" 
      android:layout_width="fill_parent" 
      android:layout_weight="2" 
      android:text="GO"/> 

    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="horizontal" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" > 


    <TextView 
     android:id="@+id/date" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:padding="5dp" 
     android:layout_marginRight="5dp" 
     android:layout_alignParentLeft="true" 
     android:gravity="center_vertical" 
     android:lines="4" 

     /> 
    <ImageView android:id="@+id/imageBtn" 
     android:layout_width="wrap_content" 
     android:layout_height="fill_parent" 
     android:padding="5dp" 
     android:contentDescription="@string/hello" 
     android:layout_alignParentLeft="true" 

     /> 

</RelativeLayout> 

     <TextView 
     android:id="@+id/date" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:padding="5dp" 
     android:gravity="center_vertical" 
     android:lines="4" 

     /> 

    <WebView 
     android:id="@+id/webview" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent"/> 


</LinearLayout> 

</ScrollView> 

回答

0

像你想開始一個新的活動按鈕被按下時,這聽起來我。您的WebView出現在其他佈局下面的原因是因爲這正是您的XML描述的內容。如果您希望WebView全屏顯示,您需要將WebView移動到單獨的「活動」中,該活動在單擊按鈕時啓動。

您可能會想要在用於啓動新活動的額外Intent中傳遞URL。

+0

不,我不想開始新的活動,我只想在整個屏幕上顯示webview,當我刪除scrolvillview時,它完美地工作fine.i不知道它爲什麼不與scrollview一起工作。 –

+0

也許你應該想開始一個新的活動!你的XML定義了所有的元素,所以他們不會神奇地消失是正確的。如果你真的想堅持一個單獨的活動,你可以在你的OnClickListener中調用'btn_login.setVisibility(View.GONE);'並且爲你想消失的任何其他視圖執行相同的操作。您需要製作btn_login final或使用其他方法使其在OnClickListener中可見。 – HexAndBugs

+0

請記住,您的WebView的layout_height =「fill_parent」在ScrollView中被忽略,因爲ScrollView實際上具有無限高度。這就是爲什麼它在ScrollView中不同。 – HexAndBugs