- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我想创建一些界面类似于下面链接中的界面的应用程序。它是一个带有灰色边框的圆形 + 当时间流逝时填充的白色“东西”。它就像一个计时器 (Javascript)。我一直在思考如何着手解决这个问题,尝试了一些方法但仍然没有成功。
如有任何帮助,我们将不胜感激。
干杯!
最佳答案
这里有类似的东西
标记
<div class="flex">
<div class="m-progress-loader">
<div class="m-progress-loader--fill"></div>
<div class="m-progress-loader--mask"></div>
</div>
<div class="m-progress-loader is-done">
<div class="m-progress-loader--fill"></div>
<div class="m-progress-loader--mask"></div>
</div>
</div>
SCSS
html {
font-size: 10px;
}
body {
padding: 40px;
}
*,
:after,
:before {
box-sizing: border-box;
}
.flex {
display: flex;
flex-wrap: wrap;
}
@keyframes spin {
from {
transform: rotate(0deg);
}
to {
transform: rotate(359deg);
}
}
@keyframes fill {
0% {
opacity: 0;
}
50%,
100% {
opacity: 1;
}
}
@keyframes mask {
0% {
opacity: 1;
}
50%,
100% {
opacity: 0;
}
}
$publishing-loader-color: #74da7a;
$scheduling-loader-color: #f0cc4e;
$loader-color: #e6e6e6;
$loader-color-darken: darken($loader-color, 20%);
$loader-mask-color: #f3f5f6;
$load-size: 6rem;
$load-border-size: 0.7rem;
$load-done-border-size: 1rem;
$spin-duration: 2s;
.m-progress-loader {
margin: 30px; // for demo;
font-size: $load-size;
width: 1em;
height: 1em;
border-radius: 50%;
background: $loader-color;
position: relative;
overflow: hidden;
&:before,
&:after {
content: " ";
width: 0.5em;
height: 1em;
display: block;
position: absolute;
background: $loader-color-darken;
}
&:before {
transform-origin: 0.5em 0.5em;
animation: spin $spin-duration linear infinite;
border-radius: 999px 0 0 999px;
}
&:after {
right: 0;
top: 0;
opacity: 0;
border-radius: 0 999px 999px 0;
animation: fill $spin-duration steps(1, end) infinite;
}
&.is-done {
&:before,
&:after {
opacity: 1;
animation: none;
}
.m-progress-loader--mask {
animation: none;
background: $loader-mask-color;
width: 0.5em;
height: 0.25em;
border-radius: 0;
z-index: 4;
top: 50%;
left: 50%;
transform-origin: center;
transform: translate(-50%, -75%) rotate(-45deg);
&:before,
&:after {
content: " ";
background: $loader-color-darken;
border-radius: 1em;
display: block;
position: absolute;
bottom: 0;
left: 0;
}
&:before {
height: 100%;
width: 0.09em;
}
&:after {
height: 0.09em;
width: 100%;
}
}
}
}
.m-progress-loader--fill {
height: 0.9em;
width: 0.9em;
background: $loader-mask-color;
border-radius: 50%;
position: absolute;
z-index: 3;
top: 50%;
left: 50%;
transform: translate3d(-50%, -50%, 0);
}
.m-progress-loader--mask {
width: 0.5em;
height: 1em;
position: absolute;
background: inherit;
border-radius: 999px 0 0 999px;
animation: mask $spin-duration steps(1, end) infinite;
}
.mm-progress-loader--publishing {
&:before,
&:after {
background: $publishing-loader-color;
}
&.is-done .m-progress-loader--mask {
&:before,
&:after {
background: $publishing-loader-color;
}
}
}
.mm-progress-loader--scheduling {
&:before,
&:after {
background: $scheduling-loader-color;
}
&.is-done .m-progress-loader--mask {
&:before,
&:after {
background: $scheduling-loader-color;
}
}
}
关于html - 如何创建一个看起来像计时器的圆形进度条?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42835095/
#include #include #include using namespace std::chrono; int main(int arc, char* argv[]) { con
我是 opencv 的新手。当我将 sRGB png 提供给它时,我发现以下代码交换了红色和蓝色 channel 。我应该责怪哪个函数,imread 还是 fromarray? 最佳答案 是的,O
我正在使用以下代码,它缩小了每一行,并且由于某种原因整个用户界面也丢失了。我该如何解决?
它是关于以下设置的:Linux 机器、bash、adb、带有 Busybox 的嵌入式 Linux 目标系统。对于目标系统,以下适用: adb shell echo $SHELL /bin/sh ad
当我在 Android Studio 上创建一个空 fragment 时,它会生成以下代码: /** * A simple {@link Fragment} subclass. * Activit
我正在尝试从 Meteor 应用程序的服务器端发布用户的 Facebook 提要: result = Meteor.http.call 'POST', "https://graph.faceb
目前我有两个不同的查询,它们返回完全相同的结果,但是,更改从中过滤结果的参数会使它们以非常不同的方式运行。 搜索 cartography 时的结果 查询 #1: 22 行/~860 毫秒; SELEC
我已经创建了结构: typedef struct { short s; int i; struct Ss { short s; }; } S;
我想在 Java 中打印反斜杠 t。但每当我尝试时,它实际上都将它作为\t 运算符。双反斜杠不起作用。我该怎么做。 最佳答案 例如通过添加另一个反斜杠来转义反斜杠 System.out.println
我想弄清楚为什么 UIActivityViewController 发送一个稍微转换过的字符串来分享给邮件和微信。 这是我的代码: let activityViewController = UIAct
创建标准 SQLite 游标后,我将使用以下方法遍历条目: while (cursor.moveToNext()) { } 所有行都被正确处理。我读过的所有文档都表明您需要发出 moveToFirst
我正在尝试创建一个基本论坛,但在 SQL 中仅打印一行时遇到问题。这是我的 PHP: {$title}"; } } else { print "failed to reach post
我的新 div 元素 ( ) 似乎隐藏在图像后面。我键入的任何内容都显示在图像后面。我想在背景图片之后继续工作。 这是我的代码: DISPLAY
UPD。一行代码解决了问题:.lean() axplanation here 我在 Model.find(...blablabla : [ {"_id":"578763de6e8e0542195ef4
我在 Ubuntu 16.04 中安装了 Tomcat 8.0.45。我使用 let's encrypt 生成的证书启用了 HTTPS 连接器。它就像一个魅力。但是今天Tomcat无法启动HTTPS连
今天,我在一台全新安装了 Windows 7 Ultimate 64 位的新笔记本电脑上安装了 Visual Studio 2010 Professional。我非常习惯于 Visual Studio
根据 Oracle,我应该能够将 .intValue() 和 .compareTo() 之类的方法应用于 double ,但是当我编写 dbl.toString( ) 例如,在 NetBeans 中,
正在为应用程序开发一些拖放功能,虽然可以使用“重影图像”来完成很多事情,将毒品从一个地方转移到另一个地方,但它们看起来总是有点“褪色” - 因此得名鬼影。是否有可能使这些具有与原始颜色相同的深度?谢谢
我是这方面的新手,很抱歉犯了一些愚蠢的错误。快乐学习。每当我使用 URL : localhost:3000/posts/whatever 时,我都会收到无法获取错误。在你问之前,是的,那是在我将内容放
背景 这自然是合法的: let closure: (Int, Int) -> () = { print($0 + $1) } closure(1, 2) // 3 鉴于,自进化提案实现以来 SE-01
我是一名优秀的程序员,十分优秀!