- 浏览: 11888 次
文章分类
最新评论
package com.example.testpop; import android.app.Activity; import android.os.Bundle; import android.view.Gravity; import android.view.Menu; import android.view.MenuItem; import android.view.MenuItem.OnMenuItemClickListener; import android.view.View; import android.webkit.WebView; import android.webkit.WebViewClient; import android.widget.AdapterView; import android.widget.AdapterView.OnItemClickListener; import android.widget.GridView; import android.widget.LinearLayout.LayoutParams; import android.widget.PopupWindow; import android.widget.Toast; //主页面放一个WebView //ActionBar 上面一个menu,点击menu弹出PopWindow //PopWindow上面放GridView布局,ItemClick监听器, //判断点击的item ID执行不同方法 reload(),goback(),goforward() public class MainActivity extends Activity implements OnItemClickListener, OnMenuItemClickListener { private PopupWindow mPopupWindow; private View mViewiewMain; private WebView mWebView; private MenuItem mMenuItem; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mViewiewMain = getLayoutInflater() .inflate(R.layout.activity_main, null); // button = (Button) findViewById(R.id.button1); mWebView = (WebView) findViewById(R.id.webView1); mWebView.loadUrl("http://3gqq.qq.com/"); // WebView重定向 mWebView.setWebViewClient(new WebViewClient() { @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { view.loadUrl(url); return true; } }); mPopupWindow = new PopupWindow(this); // DisplayMetrics outMetrics = new DisplayMetrics(); // getWindowManager().getDefaultDisplay().getMetrics(outMetrics); // popupWindow.setWidth(outMetrics.widthPixels / 5 * 3); // popupWindow.setHeight(outMetrics.heightPixels / 5 * 3); // 代码设置PopWindow的宽和高 mPopupWindow.setWidth(LayoutParams.MATCH_PARENT); mPopupWindow.setHeight(LayoutParams.WRAP_CONTENT); // PopWindow的布局 View view = getLayoutInflater().inflate(R.layout.window, null); GridView gridView = (GridView) view.findViewById(R.id.gridView1); gridView.setAdapter(new GridViewAdapter(this)); gridView.setOnItemClickListener(this); mPopupWindow.setContentView(view); // mPopupWindow 获取焦点 mPopupWindow.setFocusable(true); } @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.main, menu); // 找到菜单Menu并设置监听器 mMenuItem = menu.findItem(R.id.action_menu1); mMenuItem.setOnMenuItemClickListener(this); return true; } // // public void btn(View v) { // mPopupWindow.showAtLocation(mViewiewMain, Gravity.BOTTOM, 10, 0); // } @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { // Toast.makeText(this, position + "", Toast.LENGTH_SHORT).show(); switch (position) { case 0: // 刷新 mWebView.reload(); mPopupWindow.dismiss(); break; case 1: // 后退 if (mWebView.canGoBack()) { mWebView.goBack(); } else { Toast.makeText(this, "不能退了!!!", Toast.LENGTH_SHORT).show(); } mPopupWindow.dismiss(); break; case 2: // 前进 if (mWebView.canGoForward()) { mWebView.goForward(); } else { Toast.makeText(this, "不能进了!!!", Toast.LENGTH_SHORT).show(); } mPopupWindow.dismiss(); break; } } @Override public boolean onMenuItemClick(MenuItem item) { switch (item.getItemId()) { // 显示PopWindow // showAtLocation case R.id.action_menu1: mPopupWindow.showAtLocation(mWebView, Gravity.BOTTOM, 0, 0); break; } return false; } }
引用
GridView的适配器:
package com.example.testpop; import android.content.Context; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.GridView; import android.widget.ImageView; public class GridViewAdapter extends BaseAdapter { private Context context; private Integer[] images = { R.drawable.card_refresh, R.drawable.back, R.drawable.forward }; public GridViewAdapter(Context context) { super(); this.context = context; } @Override public int getCount() { return images.length; } @Override public Object getItem(int position) { return position; } @Override public long getItemId(int position) { return position; } @Override public View getView(int position, View convertView, ViewGroup parent) { ImageView imageView; if (convertView == null) { imageView = new ImageView(context); imageView.setPadding(8, 8, 8, 8); imageView.setLayoutParams(new GridView.LayoutParams( LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT)); } else { imageView = (ImageView) convertView; } imageView.setImageResource(images[position]); return imageView; } }
发表评论
-
FragmentTabhost记录
2014-05-18 16:13 855<android.support.v4.app.Frag ... -
SharedPreferences 保存数据
2014-05-09 20:32 710//public static final String ... -
通讯录工具类ContactsHelper
2014-05-06 19:53 1049import java.util.ArrayList; ... -
LruCache
2014-05-04 20:42 667import android.graphics.Bitma ... -
layout_gravity和gravity区别
2014-05-03 11:24 1074layout_gravity和gravity gravity该 ... -
FragmentTabHost QQ 选项卡
2014-05-02 18:35 1493import android.os.Bundle; impo ... -
ListView添加ViewPager
2014-05-02 15:39 2329引用 ListView添加ViewPager listVi ... -
ListView添加ViewPager
2014-05-02 14:35 0<div class="iteye-blog- ...
相关推荐
【WebView_demo】是一个针对Android平台的开发示例项目,它主要展示了如何利用WebView组件来加载并显示网页内容。WebView是Android SDK提供的一种原生控件,允许开发者在应用程序内部嵌入一个可浏览网页的组件,使得...
**Android之WebView使用Demo** 在Android开发中,`WebView`是一个非常重要的组件,它允许我们在应用程序内部加载和显示网页内容,极大地扩展了Android应用的功能。本教程将详细讲解如何在Android应用中使用`WebView...
本示例"Android混合开发之webview的demo"将带你深入理解WebView的基本用法,特别是如何实现Android按钮与JavaScript之间的互相响应。 一、WebView的基本使用 1. 添加依赖:在AndroidManifest.xml文件中,确保...
这个"WebView示例DEMO"是为了帮助开发者,尤其是新手,理解并掌握如何在Android应用中集成和使用WebView来展示网页。在这个DEMO中,你可以看到如何实现一些基本功能,如加载URL、与网页交互以及设置WebView的一些...
【WebView_Demo】是一个以Android平台上的WebView组件为主题的示例项目。在Android开发中,WebView是一个非常重要的组件,它允许开发者在应用内嵌入网页内容,实现与网页的交互,无需离开应用程序就能浏览网页或者...
【自定义WebView简单demo】是Android开发中的一个常见实践,主要目标是提升用户体验并实现特定功能。在这个项目中,我们自定义了一个WebView组件,它包含了三个核心特性:进度条显示、在同一WebView中处理多个链接...
在本DEMO中,"Android-WebSocket-WebView"着重展示了如何在Android应用中集成WebSocket功能,并利用WebView加载网页,实现客户端与服务器的实时交互。这个项目对于理解WebSocket与Android WebView的结合使用具有重要...
在Android开发中,Webview是一个非常重要的组件,它允许开发者在原生应用中嵌入网页内容,实现网页与原生应用的交互。本教程将详细讲解如何创建一个实用的Android Webview,包括去除系统自带标题栏,自定义进度条,...
WebView简单使用Demo通常会展示如何在Android应用中加载和展示一个网页,以及一些基本的交互功能。接下来,我们将深入探讨WebView的相关知识点。 1. **WebView的基本使用** - 首先,在布局文件(如`activity_main....
这篇资源文章“android java和webview交互demo”详细介绍了如何在Java驱动的Android应用中使用WebView,并通过JavaScript接口进行数据交换。 **一、WebView基本使用** 1. **添加依赖** 在AndroidManifest.xml中,...
Android x5内核集成demo 解决webview在使用内核时跟h5混合调用时出现的白屏,加载缓慢,vue报错各种兼容问题。在x5内核加载失败时,会切换成系统本身的内核来加载h5内容。如果项目上架Google商店等海外市场运营的,...
"鸿蒙javaUI-webview-demo.rar"这个压缩包就是一个关于如何在鸿蒙平台上使用WebView进行远程连接并实现JavaScript交互的示例项目。下面我们将详细探讨相关的知识点。 1. **鸿蒙SDK**: 鸿蒙SDK是华为推出的用于...
"webview学习demo"是一个专为iOS开发者设计的学习资源,它涵盖了如何在iOS应用中使用WebView以及如何实现iOS与JavaScript之间的双向通信。这个示例项目经过测试,可以免费直接运行,对于理解WebView的使用具有很高的...
这个"webView的demo.7z"压缩包文件显然包含了关于如何在Android中使用WebView进行混合开发的一个示例项目,其中包括了二维码扫描功能和悬浮球的集成。接下来,我们将深入探讨WebView的核心概念、配置与使用方法,...
这个“简单的webview demo 带下载功能”是一个基础的示例项目,帮助开发者理解如何在WebView中集成下载功能。下面将详细解释相关知识点。 1. **WebView组件**: WebView是Android SDK中的一个类,它继承自View,...
本教程将详细讲解Webview的使用方法,并通过一个简单的Demo来帮助理解其核心功能。 1. **Webview的引入与设置** 在AndroidManifest.xml中,我们需要为应用添加Internet权限,因为Webview需要访问网络资源: ```...
【WebView的深度解析与应用】 WebView是Android系统中一个非常重要的组件,它允许开发者在应用程序内嵌入网页浏览功能,用户无需离开应用就能查看和交互网络内容。在Android开发中,WebView的应用场景广泛,比如...
webview-demo
`android webview demo` 是一个示例项目,旨在帮助开发者理解如何有效地使用WebView进行网页交互。下面将详细介绍WebView的主要功能、配置步骤以及一些关键知识点。 **1. WebView的基本功能** - **加载网页**:...
**QtWebView在线加载网页Demo详解** QtWebView是Qt框架中用于显示HTML内容的模块,它为开发者提供了一种在Qt应用程序中嵌入Web内容的能力。这个"QtWebView在线加载网页Demo"是一个很好的学习实例,特别适合那些希望...