-
判断页面加载过程 由于有些页面可能加载缓慢,所以我们需要去判断页面的加载过程,制作进度条给予用户良好的体验效果。 private void openDialog(int newProgress) { if(dialog==null){ dialog=new ProgressDialog(MainActivity.this); dialog.setTitle("正在加载..."); dialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);//样式采用水平进度条 dialog.setProgress(newProgress);//显示当前进度 dialog.show();//显示对话框 } else{ //对话框已经存在,只需改变进度 dialog.setProgress(newProgress); } } } private void closeDialog() { if(dialog!=null && dialog.isShowing()){//对话框已经存在,并在正在显示 dialog.dismiss();//取消显示 dialog=null; } } -------------------- webView缓存的应用 1.优先使用缓存(将一部分资源存储在本地) webView.getSettings().setCacheMode( WebSettings.LOAD_CACHE_ELSE_NETWORK ); 2.不使用缓存 webView.getSettings().setCacheMode( WebSettings.LOAD_NO_CACHE );查看全部
-
如图,是页面返回的逻辑处理。 我们使用 Toast()来显示当前页面的地址。 在网页上点击退回时,可能因为网页自身存在请求重定向,所以可能已经跳转了好几个页面,这时我们需要连续点击返回键才能真正退出程序。 //改写物理按键——返回的逻辑 @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if(keyCode== KeyEvent.KEYCODE_BACK){ //KeyEvent.KEYCODE_BACK是常量,KeyEvent还有很多其他常量 Toast.makeText(this, webView.getUrl(), Toast.LENGTH_SHORT).show();//显示地址 if(webView.canGoBack()){//如果可以返回,就返回上一页面 webView.goBack(); return true; } else{//不能返回,说明已经是首页了,所以就退出程序 System.exit(0);//退出 } } return super.onKeyDown(keyCode, event); }查看全部
-
在WebView中使用JavaScript 如果想在webView中加载的web页面使用JavaScript,需要在WebView中启用JavaScript,通过WebView带有的WebSettings来启用它。可以通过getSettings()获取WebSettings的值,然后通过setJavaScriptEnabled()来启用JavaScript。 webView=(WebView)findViewById(R.id.webView); WebSettings webSettings = webView.getSettings(); webSettings.setJavaScriptEnabled(true); -------------------------------------- 后退与前进 当WebView覆盖了URL加载,它会自动生成历史访问记录。我们可以通过goBack()或者 goForward()向前或者向后访问已经访问过的站点。 @Override public boolean onKeyDown(int keyCode, KeyEvent event){ if(( keyCode == keyEvent.KEYCODE_BACK ) && myWebView.canGOBAKK() ){ webView.goBack(); return true; } return super.onKeyDown(keyCode, event); }查看全部
-
viewflipper,适合brand里面的图片自动切换查看全部
-
当用户点击一个WebView中的页面的链接时,通常,是由默认的浏览器打开并加载目标URL的。然而,我们可以在WebView中覆盖这一行为,那么链接就会在WebView中打开: webView.setWebViewClient(new WebViewClient()); //覆盖默认的游览器,让网页在WebView中打开 webView.setWebViewClient(new WebViewClient(){ @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { //返回值是true的时候,网页会在WebView中打开,如果是false,则调用系统浏览器或第三方浏览器去打开 view.loadUrl(url); return true; } //WebViewClient帮助WebView处理一些页面控制和请求通知 });查看全部
-
在Android Studio中需要自己新建一个 assets 文件夹,注意这里必须是复数,写成 asset是找不到路径的! 并且必须建在 main 文件下,与 java 和 res 是同级的:右击 main --> new --> Android resource directory -->在 Directory name 一栏写上assets -->点击OK,这时系统会将 assets 文件放在 res下面,我们需要把它拖拽到main文件下。 建好 assets 文件后,右击 assets,选择 new --> file -->输入example.html -->点击OK,就创建了该文件。然后在里面写上: <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>无标题文档</title> </head> <body> <a href="https://www.baidu.com/">打开百度</a> </body> </html> 就完成了。 最后在 MainActivity中写上:webView.loadUrl("file:///android_asset/example.html"); 注意,这里的是 asset,是单数,没有 s。查看全部
-
要在应用中加入WbeView,只需要在你的活动布局中加入<WebView>元素即可 <WebView android:id="@+id/webView" android:layout_width="match_parent" android:layout_height="match_parent" /> 加载页面,使用 loadUrl() web资源: webView.loadUrl("http://www.baidu.com") 本地资源: webView。loadUrl("file:///android_asset/xxx.html");本地文件放在asset文件中 //使页面获得焦点 webView.requestFocus(); ------------------------ 获取网络访问权限 在它有效工作之前,要保证应用能访问网络。要访问网络,需要在配置文件中获取INTERNET权限: <manifest ...> <uses_permission android:name="android.permission.INTERNET" /> ... </manifest>查看全部
-
使用WebView在界面中显示网页 通过Intent调用系统浏览器 Uri uri=Uri.parse(url);//url为链接的地址 Intent intent=new Intent(Intent.ACTION_VIEW,uri); startActivity(intent); ----------------------------- 课程目标:通过WebView自制一个简易网页浏览器 课程内容: (1)将WebView加入到你的应用 (2)使用WebView加载页面 (3)获取网络访问权限(在AndroidManifest中配置) (4)在WebView中使用Javascript (5)处理页面加载进程 (6)后退与前进 (7)判断页面的加载过程 (8)WebView缓存的运用(对浏览器的优化)查看全部
-
Android Studio 右击drawable文件夹,选择 new -->Drawable resource fild,在 Root Element 填写 layer-list,就可以创建一个进度条样式,然后从系统自带的进度条样式的代码复制过来,稍加修改即可。 关于系统的进度条的代码的获取: 在main.xml文件下的<Progress>的属性style改成: 然后,按住Ctrl,左击"@android:style/Widget.ProgressBar.Horizontal",就进入 styles.xml,这时将看到<style name="Widget.ProgressBar.Horizontal">,在其属性中有<item name="progressDrawable">@drawable/progress_horizontal</item> ,再次按住Ctrl并左击该属性,就进入了进度条样式的文件。 创建完样式后,在 main.xml中的<Progress>里面添加属性: android:progressDrawable="@drawable/progress_bar" 就会覆盖原有的样式,实现了自定义进度条样式的效果。查看全部
-
//设置显示风格 progressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL); //设置标题 progressDialog.setTitle("慕课网"); //设置对话框里的文字信息 progressDialog.setMessage("欢迎大家来到神龙网"); //设置图标 progressDialog.setIcon(R.mipmap.ic_launcher); /** * 设置关于progressDialog的一些属性 */ //设置进度条的最大值 progressDialog.setMax(100); //初始化已经增长的进度 progressDialog.setProgress(50); //进度条是明确的 progressDialog.setIndeterminate(false); /** * 设置一个确定按钮,setButton()有三个参数,分别表示Button的类型,Button显示的文字,Button的监听器 */ progressDialog.setButton(DialogInterface.BUTTON_POSITIVE,"确定", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialogInterface, int i) { Toast.makeText(MainActivity.this, "欢迎来到异世界!",Toast.LENGTH_SHORT).show(); } }); /** * 是否通过返回(取消)按钮退出对话框 */ progressDialog.setCancelable(true); //最重要的一步,显示对话框! progressDialog.show();查看全部
-
对话框形式进度条的监听事件的编写,图中是页面显示风格的设置。查看全部
-
给每一个 Button 设置监听器,并统一在 onClick(View v)中实现各自逻辑。查看全部
-
图中获取百分比是先把除数的整型转换成浮点型,相除的结果是一个0~1之间的小数,再乘以100得到0~100之间的小数,最后把这个小数转换成整数。 其实不用那么麻烦,改成 100*first/max 和 100*second/max 就可以了: textView.setText("第一进度条的百分比:"+100*first/max+"%,第二进度条的百分比:"+100*second/max+"%");查看全部
-
ProgressBar的关键属性 android:max="100" ——最大显示进度 android:progress="50" ——第一显示进度 android:secondaryProgress="80" ——第二显示进度 android:indeterminate="false" 设置是否模糊显示(indeterminate:模糊的、不明确的) ---------------------------- 关键方法: (1)setProgress(int) 设置第一进度 (2)setSecondaryProgress(int) 设置第二进度 (3)getProgress() 获取第一进度 (4)getSecondaryProgress() 获取第二进度 (5)incrementProgress(int) 增加或减少第一进度 (6)incrementSecondaryProgress(int) 增加或减少第二进度 (7)getMax() 获取最大进度查看全部
-
双进度条,如图。生活中很常见,比如看视频就有缓冲的进度和当前播放的进度。查看全部
举报
0/150
提交
取消