0
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”组件。当我单击具有我网站“徽标”的 imagebutton 时,我的应用程序应该打开我的网站在同一屏幕上。我该怎么做?

4

3 回答 3

1

我没有遵循您的布局,因为我认为您对以下内容有些困惑:

  • fill_parent 和对齐。为什么在设置 fill_parent 时对 webview 使用对齐方式?fill_parent 试图占据所有的父视图。

  • onClick 调用在您设置内容视图的同一活动上定义的 java 函数。不是你放@+id/imagebutton的。顺便说一句,您正在为 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 项目时出现的默认徽标。将布局的属性调整为您真正想要的。

我建议您从简单的活动开始练习布局。

于 2013-05-07T10:40:55.063 回答
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");
于 2013-05-07T10:18:42.357 回答
0

这段代码对我有用

WebView myWebView = (WebView) findViewById(R.id.webView1);
WebSettings webSettings = myWebView.getSettings();
webSettings.setJavaScriptEnabled(true);
myWebView.loadUrl("http://www.google.com");

将此代码放在 ImageView 的 onClick 侦听器中

于 2013-05-07T10:05:51.133 回答