Android - Webview进度条

2024-03-05

我在网络视图上方添加了进度条。 每当我单击链接时,我都会使进度条可见。

我想让进度条覆盖在网络视图上,并且我想显示进度条的百分比。我知道css,但我不知道如何改变android中进度条的位置

<?xml version="1.0" encoding="utf-8"?>
<WebView  xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/webview01"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
/> 

MainActivity.java

public class MainActivity extends Activity {

WebView web;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    web = (WebView) findViewById(R.id.webview01);
 // request the progress-bar feature for the activity
    getWindow().requestFeature(Window.FEATURE_PROGRESS);

    // set a webChromeClient to track progress    
    web.setWebChromeClient(new WebChromeClient()
    {
        public void onProgressChanged(WebView view, int progress)
        {
            // update the progressBar
            MainActivity.this.setProgress(progress * 100);
        }
    });


    web.getSettings().setJavaScriptEnabled(true);
    web.loadUrl("url");

}

// To handle "Back" key press event for WebView to go back to previous screen.
@Override
public boolean onKeyDown(int keyCode, KeyEvent event)
{
    if ((keyCode == KeyEvent.KEYCODE_BACK) && web.canGoBack()) {
        web.goBack();
        return true;
    }
    return super.onKeyDown(keyCode, event);
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.main, menu);
    return true;
}

}

要显示进度条百分比,我需要修改此代码吗?或者我可以从此代码扩展功能吗?


要显示“页面加载”进度条,请使用以下命令:

在 onCreate() 中:

// request the progress-bar feature for the activity
getWindow().requestFeature(Window.FEATURE_PROGRESS);

// set a webChromeClient to track progress    
myWebView.setWebChromeClient(new WebChromeClient()
{
 public void onProgressChanged(WebView view, int progress)
 {
   // update the progressBar
   MyActivity.this.setProgress(progress * 100);
 }
});

这将在屏幕顶部显示使用内置样式,就像内置浏览器一样。

如果您想显示和更新自己的进度条,过程类似,获取进度条的句柄:

ProgressBar myProgress = (ProgressBar)findViewById(R.id.progressBar1);

。 。 。 并在 onProgressChanged() 函数中使用:

myProgress.setProgress(progress * 100);

而不是 MyActivity.this.setProgress()。

此外,如果您想让 ProgressBar 出现在 WebView 前面,则不能使用 LinearLayout。使用具有 centerInParent="true" 的relativelayout,并在布局中的 WebView 之后列出 ProgressBar。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android - Webview进度条 的相关文章

  • 如何在 60 分钟后删除共享首选项

    我想存储登录数据 但希望在 60 分钟后删除该数据 执行此操作的正确方法是什么 在这 60 分钟内可以关闭 停止 打开应用程序 我不想使用内部数据库 这是我的访问代码SharedPreferences sharedpreferences g
  • Jetpack Compose:制作全屏(绝对定位)组件

    我怎样才能在全屏渲染树的深处制作一个可组合的 类似于Dialog可组合作品 例如 当用户单击图像时 它会显示该图像的全屏预览 而无需更改当前路线 我可以用 CSS 来做到这一点position absolute or position fi
  • 双屏 Android Studio 中不显示自动补全

    我刚刚从 Eclipse 切换到 Android Studio IntelliJ 我不明白自动补全是如何工作的 我尝试了 Control Space Control Shift Space 但没有相关建议 不在 Java 文件中 也不在布局
  • 如何自定义舍入形式

    我的问题可能看起来很简单 但仍然无法得到有效的东西 我需要自定义 Math round 舍入格式或其他格式以使其工作如下 如果数字是 1 6 他应该四舍五入到 1 如果大于或等于 1 7 他应该四舍五入到 2 0 对于所有其他带有 6 的小
  • 使用 Proguard 通过 Dropbox.com 库混淆 Android 应用程序

    我刚刚创建了一个需要 Dropbox com API 库的 Android 应用程序 我现在尝试在 发布 模式下构建应用程序 并希望在代码上运行混淆器以对其进行混淆 但是 每当我尝试运行 Proguard 时 都会收到以下错误 Progua
  • Android 的 Intent 和 Parcelable 对象

    为什么我需要打包我的对象 即使我只需将其发送到同一任务的另一个线程 实际上 我需要打开一个甚至可以在同一线程 主线程 上运行的活动 换句话说 为什么 Google 不提供一个 startActivity 版本 它采用通用对象广告参数而不是捆
  • Expresso 的 Android 测试首选项片段

    我在通过 Expresso 测试我的代码时遇到问题 我写了这段代码 public class SettingsActivity extends Activity Override protected void onCreate Bundle
  • Android 中 Activity 之间的 3D 动画

    How to create animation between two Activity look like As Screen shot in android 搜索jazzyviewpager 这是link https github co
  • 了解应用程序在后台时何时收到 Firebase 消息

    我知道这个标题有同样的问题 但不幸的是它没有得到正确的回答 它被接受了 here https stackoverflow com questions 37711082 how to handle notification when app
  • Android计算两个日期之间的天数

    我编写了以下代码来查找两个日期之间的天数 startDateValue new Date startDate endDateValue new Date endDate long diff endDateValue getTime star
  • 即使禁用安全性,OAuth 令牌 API 也无法在 Elastic Search 中工作

    我是 Elastic search 新手 使用 Elastic search 版本 7 7 1 我想通过以下方式生成 OAuth 令牌弹性搜索文档 https www elastic co guide en elasticsearch re
  • Spring Data Rest 多对多 POST

    首先 让我解释一下我的用例 这非常简单 有一个用户实体和一个服务实体 我使用 UserService 作为连接实体 连接表 在用户和服务之间建立多对多关联最初 会有一些用户集和一些服务集 用户可以在任何时间点订阅任何服务 在这种情况下 将向
  • onPrepareOptionsMenu 复制 ActionBar 中的项目

    当我使用 onPrepareOptionsMenu 添加菜单项时 该菜单项会在操作栏中复制其自身 我正在使用片段并在主要活动的 ActionBar 中创建初始菜单 如下所示 Override public boolean onCreateO
  • Selenium 单击在 Internet Explorer 11 上不起作用

    我尝试在 Internet Explorer 上单击 selenium 但它不起作用 我努力了element click moveToElement element click build perform javascript没事了 事实上
  • Android:透明活动问题

    最近 在我们的一款生产应用程序上 透明活动已停止工作 我的意思是它变成了黑色背景而不是透明背景 当我将活动的背景颜色设置为纯色 即红色 绿色等 时 它的应用不会出现问题 该问题可能是由于迁移到 AndroidX 引起的 但我没有这方面的证据
  • 如何让 Firebase 与 Java 后端配合使用

    首先 如果这个问题过于抽象或不适合本网站 我想表示歉意 我真的不知道还能去哪里问 目前我已经在 iOS 和 Android 上开发了应用程序 他们将所有状态保存在 Firebase 中 因此所有内容都会立即保存到 Firebase 实时数据
  • 我想测量 ListView 的高度 (getHight() = 0)

    我无法自己决定任务将是问 我想测量 ListView 的高度 无法捕捉渲染 ListView 的时刻 rssListView getHight 0 public class RSSactivity extends Activity publ
  • 设置 TreeSet 的大小

    有没有办法像数组一样对 Java 集合中的 TreeSet 进行大小限制 例如我们在数组中 anArray new int 10 数组具有固定长度 在创建数组时必须指定该长度 A TreeSet当您向其中添加元素时会自动增长 您无法设置其大
  • Android 的代码覆盖率[重复]

    这个问题在这里已经有答案了 可能的重复 Android测试代码覆盖率 Eclipse https stackoverflow com questions 3282702 android test code coverage eclipse
  • 如何用LoaderManager自动重新查询

    我有一个应用程序显示来自 SQLite DB 的数据 并且数据不断变化 所以显然 我认为我应该使用 LoaderManager 来显示数据 我读过一些关于将 LoaderManager 与 SQLite 结合使用的内容 然后看到了亚历克斯

随机推荐

  • 如何更改单个显示器的伽玛斜坡(NVidia Config)?

    我尝试仅更改一个屏幕而不是所有屏幕的伽玛值 I use 这段代码 http devadd com 2010 10 too bright too early 帮我 但是这个SetDeviceGammaRamp GetDC IntPtr Zer
  • OpenBUGS - 变量未定义

    我在 OpenBUGS 中使用以下代码来执行分析 model for i in 1 467 probit p i lt gamma0 gamma1 drug i gamma2 CD41 i R i dbern p i junk i lt I
  • 在 Android 中向 AlertDialog 添加垂直滚动条?

    我想向 AlertDialog 添加一个垂直滚动条 因为我的文本太长 无法在一个屏幕上显示 我尝试过使用 android scrollbars vertical android scrollbarAlwaysDrawVerticalTrac
  • 顺序和并行版本给出不同的结果 - 为什么?

    我有一个嵌套循环 L 和 A 是完全定义的输入 pragma omp parallel for schedule guided shared L A reduction dummy for i k 1 i
  • 使用 compose 重新创建命名卷

    V renew anon volumes Recreate anonymous volumes instead of retrieving data from the previous containers Does docker comp
  • 如何在单击该图像的 onclick 事件时获取图像源路径

    当图像的 onclick 事件被触发时 我需要获取图像源 我尝试使用 document getElementById example src 但浏览器上的控制台显示 未捕获的类型错误 无法读取 null 的属性 src img src em
  • NamedPipeServerStream 接收 MAX=1024 字节,为什么?

    我正在使用 NamedPipeStream 客户端和服务器 我将数据从客户端发送到服务器 该数据是一个包含二进制数据的序列化对象 当服务器端接收数据时 它总是有最大1024大小 而客户端发送更多 因此 当尝试序列化数据时 这会导致以下异常
  • 可定制的字母替换器

    我一直在开发一个几乎可以替代字母的应用程序 所以你会有一封信和一个输入框 该字母代表将被替换的字母 您在输入框中写下您想要替换的内容 为此 我使用了正则表达式和对象 如果你像这样徘徊 匿名的 到底出了什么问题 julianavar 有什么不
  • 禁用 TabLayout 中的选项卡[重复]

    这个问题在这里已经有答案了 我用过TabLayout来自我的应用程序中最新的设计支持库 这些选项卡附加到一个视图分页器 该视图分页器加载每个选项卡的片段 我想禁用所有选项卡 直到视图页面加载用户选择的选项卡的片段 我无法禁用选项卡布局或使其
  • 使用 EPPlus 将 Excel 工作表格式化为表格

    我有一个 NET Core 应用程序 并且我不熟悉将 EPPlus 库与 C 一起使用 我有一个数据表 其中填充了我目前正在使用 EPPlus 将其插入到 Excel 工作表中的数据 我想知道是否有一种方法可以在将数据添加到工作表之后而不是
  • CUDA PTX 代码 %envreg<32> 特殊寄存器

    我尝试使用 CUDA 驱动程序 API 运行由 cl 内核生成的 PTX 汇编代码 我采取的步骤是这些 标准 opencl 程序 1 加载 cl内核 2 JIT编译 3 获取编译好的ptx代码并保存 到目前为止 一切都很好 我注意到 ptx
  • 在 Mobile Safari 上调试缓慢的 Angular-ui-router 状态更改

    我正在编写一个角度应用程序 使用 Angular ui router 来管理状态 路由 在桌面浏览器 Chrome Safari 上 这工作正常 然而 在 iPhone 4 上的 IOS 6 上的 Mobile Safari 上 以及 iP
  • 使用 WebBrowser .NET 控件放大网页

    IE7 中内置了 缩放 功能 显示在状态栏中 允许您放大至 400 我在演示 模拟应用程序中使用 WebBrowser NET 控件 并且需要放大网页 这是可能吗 我不想简单地拍摄页面照片并将其放大 因为我需要使用页面上的链接和按钮 如果重
  • Angular 6 - 无法解析AppComponent的所有参数

    我正在尝试使用 Angular 6 构建一个应用程序 但我仍在设置一切 但我的应用程序中的依赖注入似乎有问题 它无法解析任何构造函数参数 它们都导致Uncaught Error Can t resolve all parameters fo
  • Heroku 不支持 Neo4j?

    我正在尝试使用 Neo4j 数据库部署 Spring boot 应用程序 但是当我在 Heroku 中找到插件时 我看不到它 如何将 Neo4j 数据库推送到 Heroku 请帮我 先感谢您 This news https docs gra
  • JTable - 复合编辑器焦点

    我有一个由多个组件组成的自定义编辑器 就像是 class MyCellEditor extends AbstractCellEditor implements TableCellEditor JTextArea textArea JButt
  • 如何配置 Hibernate、Spring 和 Apache dbcp 进行连接池?

    我在集成 Spring Hibernate 和 Apache DBCP 时遇到问题 我已经用过DBCPConnectionProvider from here http wiki apache org commons DBCP Hibern
  • 西班牙 Windows 的字符集

    西班牙 Windows 的字符集是什么 Spanish es iso 8859 1 windows 1252
  • 有没有自动更新Javadoc的工具?

    我工作的代码库 很混乱 这种混乱的一方面是我们有大量方法 其签名不再与关联的 Javadoc 匹配 例如 param foo public void doFoo int bar 我不喜欢生成的 Javadoc 因为它几乎总是毫无价值 但我确
  • Android - Webview进度条

    我在网络视图上方添加了进度条 每当我单击链接时 我都会使进度条可见 我想让进度条覆盖在网络视图上 并且我想显示进度条的百分比 我知道css 但我不知道如何改变android中进度条的位置