Т.е. получается внутри основного LinearLayout находит еще один горизонтальный LinearLayout, который содержит слева-направо EditText, куда будет писаться URL и Button, по нажатию которого будет стартовать WebView, ниже располагается еще один LinearLayout, внутри которого находится сама WebView с параметрами "fill_parent" по ширине и высоте. Таким образом получается визуально похоже на обычный браузер. Однако я не смог придумать как реализовать эту прихоть, пытался читать на developer.android.com, но, видимо, английского не хватает. Подскажите пожалуйста как это можно реализовать, буду очень благодарен.
P.S. Также была мысль сделать еще одну кнопку "Back" для возврата на предыдущую страницу, но опять же не знаю как это реализовать.
Вот такой xml для MainActivity у меня заготовлен:
Код: Выделить всё
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<LinearLayout
android:id="@+id/linearLayout1"
android:layout_width="match_parent"
android:orientation="horizontal"
android:layout_height="wrap_content">
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="<-"
android:id="@+id/btnBack">
</Button>
<EditText
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:layout_weight="1"
android:id="@+id/etURL"
android:fadeScrollbars="true">
</EditText>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Go"
android:id="@+id/btnGo">
</Button>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/llMain"
android:orientation="vertical">
<WebView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/webview"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
/>
</LinearLayout>
</LinearLayout>
Вычитал, что нужно сначала прописать в public class MainActivity дописать: WebView mWebView;
А вот так я пытаюсь запустить URL: mWebView.loadUrl("https://www.google.com/");
Код из MainActivity.java
Код: Выделить всё
public class MainActivity extends Activity{
private WebView mWebView;
Button btnGo;
Button btnBack;
EditText etURL;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btnGo = (Button) findViewById(R.id.btnGo);
btnBack = (Button) findViewById(R.id.btnBack);
etURL = (EditText) findViewById(R.id.etURL);
mWebView = (WebView) findViewById(R.id.webview);
mWebView.loadUrl("https://www.google.com/");
}
}
UPD3! Заработало со следующим кодом:
Код: Выделить всё
public class MainActivity extends Activity {
private WebView mWebView;
Button btnGo;
Button btnBack;
EditText etURL;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
btnGo = (Button) findViewById(R.id.btnGo);
btnBack = (Button) findViewById(R.id.btnBack);
etURL = (EditText) findViewById(R.id.etURL);
btnGo.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
String url = etURL.getText().toString();
mWebView.loadUrl(url);
}
}
);
mWebView = (WebView) findViewById(R.id.webview);
mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.setWebViewClient(new MyWebViewClient());
}
private class MyWebViewClient extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
view.getContext().startActivity(intent);
return true;
}
}
}