private ImageButton imagebutton;
private void init(){
imagebutton =(ImageButton)findViewById(R.id.imageButton1);
final WebView WebView1 = new WebView(this);
WebView1.addView(imagebutton);
imagebutton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
setContentView(WebView1);
WebView1.loadUrl("http://www.xxx.com/");
}
});
}
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/hello_world" />
<WebView
android:id="@+id/WebView1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_alignLeft="@+id/textView1"
android:background="@drawable/ic_launcher"
/>
<ImageButton
android:id="@+id/imageButton1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_alignBottom="@+id/WebView1"
android:layout_alignParentLeft="true"
android:layout_alignRight="@+id/WebView1"
android:layout_below="@+id/textView1"
android:src="@drawable/logo_xxx_xxx"
android:onClick="@+id/imagebutton"
/>
我想制作一个小应用程序,可以在我的应用程序中通过webview打开一个网站。我有1个“imagebutton”和“WebView”组件。当我点击我的网站有“徽标”的图像按钮时,我的应用程序应该在同一个屏幕上打开我的网站。我该怎么做?
答案 0 :(得分:1)
我没有按照你的布局,因为我觉得你有点困惑:
fill_parent和alignements。当你在上面设置fill_parent时,为什么要使用alignements方面的webview? fill_parent尝试占用所有父视图。
onClick调用在您设置内容视图的同一活动上定义的java函数。不是你放的@+id/imagebutton
。顺便说一句,您正在为图像按钮设置一个onclick监听器,因此您可以安全地删除布局上的onClick。
我使用了一个布局,其中图像将位于屏幕的中心,当您单击将在webview上加载网站时,一旦加载,图标将消失,并且将显示webview。
简单RelativeLayout activity_webview.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<WebView
android:id="@+id/webviewactivity_webview"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:visibility="invisible" />
<ImageButton
android:id="@+id/webviewactivity_imagebutton"
android:layout_width="45dp"
android:layout_height="45dp"
android:layout_centerInParent="true"
android:background="@drawable/ic_launcher"
android:contentDescription="@null" />
</RelativeLayout>
代码:
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.ImageButton;
public class WebViewActivity extends Activity {
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_webiview);
final WebView wb = (WebView) findViewById(R.id.webviewactivity_webview);
wb.setVisibility(View.INVISIBLE);
final ImageButton ib = (ImageButton) findViewById(R.id.webviewactivity_imagebutton);
ib.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v) {
wb.loadUrl("http://www.google.com");
}
});
wb.setWebViewClient(new WebViewClient(){
public void onPageFinished(WebView view, String url){
ib.setVisibility(View.INVISIBLE);
wb.setVisibility(View.VISIBLE);
}
});
}
}
如您所见,我使用了创建Android项目时出现的默认徽标。 将布局的属性调整为您真正想要的。
我建议你从简单的活动开始练习布局。
答案 1 :(得分:0)
这段代码对我有用
WebView myWebView = (WebView) findViewById(R.id.webView1);
WebSettings webSettings = myWebView.getSettings();
webSettings.setJavaScriptEnabled(true);
myWebView.loadUrl("http://www.google.com");
将此代码放入ImageView的onClick侦听器
答案 2 :(得分:0)
final WebView wb = (WebView) findViewById(R.id.webviewactivity_webview);
wb.setVisibility(View.INVISIBLE);
wb.getSettings().setBuiltInZoomControls(true);
WebSettings webSettings = wb.getSettings();
webSettings.setJavaScriptEnabled(true);
webSettings.setAllowFileAccess(true);
wb.loadURL("http://www.google.co.in");