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>
不,我不想開始新的活動,我只想在整個屏幕上顯示webview,當我刪除scrolvillview時,它完美地工作fine.i不知道它爲什麼不與scrollview一起工作。 –
也許你應該想開始一個新的活動!你的XML定義了所有的元素,所以他們不會神奇地消失是正確的。如果你真的想堅持一個單獨的活動,你可以在你的OnClickListener中調用'btn_login.setVisibility(View.GONE);'並且爲你想消失的任何其他視圖執行相同的操作。您需要製作btn_login final或使用其他方法使其在OnClickListener中可見。 – HexAndBugs
請記住,您的WebView的layout_height =「fill_parent」在ScrollView中被忽略,因爲ScrollView實際上具有無限高度。這就是爲什麼它在ScrollView中不同。 – HexAndBugs