标签: blink

当notifydatasetchanged时,为什么Glide会使项目ImageView闪烁

我使用滑翔3.7.0RecyclerView.刷新(调用notifyDataSetChanged)时,项目视图始终闪烁.

这是我的代码:

Glide
  .with(context)
  .load(filepath)
  .diskCacheStrategy(DiskCacheStrategy.NONE)
  .skipMemoryCache(true)
  .dontAnimate()
  .into(imageview);
Run Code Online (Sandbox Code Playgroud)

当我不使用缓存时,在调用方法ImageViewnotifyDataSetChangedGlide尚未完成加载位图时,它具有空位图.

如果我使用以下代码:

Glide
  .with(context)
  .load(filepath)
  .dontAnimate()
  .into(imageview);
Run Code Online (Sandbox Code Playgroud)

然后项目ImageView不再闪烁(使用缓存).

我想动态更新项目视图,因此我禁用了滑动缓存.

有没有解决这个眨眼错误的解决方案?

非常感谢你!

android blink notifydatasetchanged android-recyclerview android-glide

12
推荐指数
2
解决办法
8164
查看次数

Chrome 53在LI元素中引入了不需要的间距

从Chrome 53开始,我们注意到了一个与CSS相关的新问题.

这个问题也可以在Vivaldi中看到(它基于与Chrome相同的引擎).在Safari,Firefox或Chrome 52中看不到同样的问题.

例如,这里:https://mobilefirstplatform.ibmcloud.com/tutorials/en/foundation/8.0/using-the-mfpf-sdk/

在此输入图像描述

这是一个规范更改,需要更新我们的CSS或渲染引擎中的实际错误?

更新:它似乎正在发生,因为list-style-position:inside.

<ul style="list-style-position:inside">
    <li>li element 1</li>
    <li>li element 2</li>
</ul>
Run Code Online (Sandbox Code Playgroud)

使用时,除了LI元素按预期推入内部外,子弹和文本之间的间距也会增加.删除CSS规则,子弹和文本之间的间距要小得多.

我们怎么解决这个问题呢?

css google-chrome blink

10
推荐指数
1
解决办法
1208
查看次数

PhantomJS/WebKit中奇怪的JavaScript行为

我正在使用Python构建一个应用程序,用于检查某个Web应用程序是否容易受到AngularJS Sandbox Escape/Bypass的影响.

下面是它的工作原理.

我的应用程序http://localhost使用以下内容启动本地Web服务器().

<!DOCTYPE html>
<html>
    <head>
        <script src="https://code.angularjs.org/1.2.19/angular.min.js"></script>
    </head>
    <body ng-app="">
        {{c=toString.constructor;p=c.prototype;p.toString=p.call;["a","open(1)"].sort(c)}}
    </body>
</html>
Run Code Online (Sandbox Code Playgroud)

我正在使用的Sandbox Escape有效负载{{c=toString.constructor;p=c.prototype;p.toString=p.call;["a","open(1)"].sort(c)}},应该打开一个新窗口open(1).

启动Web服务器后,它使用Selenium(使用PhantomJS作为驱动程序)来检查是否由于AngularJS Sandbox Escape而打开了一个新窗口.

capabilities = dict(DesiredCapabilities.PHANTOMJS)
capabilities["phantomjs.page.settings.XSSAuditingEnabled"] = False

browser = webdriver.PhantomJS(
    executable_path="../phantomjs/win-2.1.1",
    desired_capabilities=capabilities,
)

browser.get("http://localhost/")

return len(browser.window_handles) >= 2
Run Code Online (Sandbox Code Playgroud)

我面临的问题

PhantomJS无法打开新窗口.当我导航到http://localhost使用谷歌浏览器时,它打开一个新窗口.

这是PhantomJS控制台日志(包含两个错误):

[
    {
        "level":"WARNING",
        "message":"Error: [$interpolate:interr] http://errors.angularjs.org/1.2.19/$interpolate/interr?p0=%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%7Bc%3DtoString.constructor%3Bp%3Dc.prototype%3Bp.toString%3Dp.call%3B%5B'a'%2C'open(1)'%5D.sort(c)%7D%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20&p1=SyntaxError%3A%20Expected%20token%20')'\n (anonymous function) (https://code.angularjs.org/1.2.19/angular.min.js:92)",
        "timestamp":1501431637142
    },
    {
        "level":"WARNING",
        "message":"Error: [$interpolate:interr] http://errors.angularjs.org/1.2.19/$interpolate/interr?p0=%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%7Bc%3DtoString.constructor%3Bp%3Dc.prototype%3Bp.toString%3Dp.call%3B%5B'a'%2C'open(1)'%5D.sort(c)%7D%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20&p1=Error%3A%20%5B%24parse%3Aisecfn%5D%20http%3A%2F%2Ferrors.angularjs.org%2F1.2.19%2F%24parse%2Fisecfn%3Fp0%3Dc%253DtoString.constructor%253Bp%253Dc.prototype%253Bp.toString%253Dp.call%253B%255B'a'%252C'open(1)'%255D.sort(c)\n (anonymous function) (https://code.angularjs.org/1.2.19/angular.min.js:92)",
        "timestamp":1501431637142
    }
]
Run Code Online (Sandbox Code Playgroud)

这是Google Chrome控制台日志(抛出错误但会打开一个新窗口):

Error: [$interpolate:interr] http://errors.angularjs.org/1.2.19/$interpolate/interr?p0=%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%7Bc%3DtoString.constructor%3Bp%3Dc.prototype%3Bp.toString%3Dp.call%3B%5B'a'%2C'open(1)'%5D.sort(c)%7D%7D%20%20%20%20%20%20%20%20%20%20%20%20%0A%0A&p1=Error%3A%20%5B%24parse%3Aisecfn%5D%20http%3A%2F%2Ferrors.angularjs.org%2F1.2.19%2F%24parse%2Fisecfn%3Fp0%3Dc%253DtoString.constructor%253Bp%253Dc.prototype%253Bp.toString%253Dp.call%253B%255B'a'%252C'open(1)'%255D.sort(c)
    at …
Run Code Online (Sandbox Code Playgroud)

javascript webkit google-chrome blink phantomjs

10
推荐指数
1
解决办法
543
查看次数

让JFace窗口在任务栏中闪烁或引起用户注意?

我想知道有人知道如何解决这个问题:

在我的Java Eclipse插件中,有一些过程需要一些时间.因此,用户可以最小化窗口并让进程在后台运行.
现在,当这个过程结束时,我可以强制窗口再次登顶,但这是可用性的禁忌.我宁愿让进程在任务栏中闪烁.有没有办法实现这个目标?

我看了一下org.eclipse.jface.window但是找不到那样的东西,SWT文档同样如此......

我想到的另一件事 - 因为人们在mac os xlinux上也使用这个应用程序,是否有一个独立平台的解决方案,它将通知用户该过程已经完成但没有将窗口置于顶部?

任何想法都非常欢迎!

编辑:
我发现在Windows上,用户可以调整是否要将力设置为前景.如果禁用该选项,任务将在任务栏中闪烁...
这是一个很好的阅读 ...

如果有人知道某种平台独立的方式来实现这种行为,请与我分享您的知识!

java eclipse swt jface blink

9
推荐指数
1
解决办法
2867
查看次数

你如何使图像闪烁?

如果可能的话,我想知道如何使CSS中的图像闪烁.我希望它闪烁在哪里.

我也想改变速度,但主要是我想让它眨眼.

html css image blink

9
推荐指数
2
解决办法
7万
查看次数

iphone sdk的眨眼检测

现在可以使用ios 5进行面部检测,我只是想知道是否也可以检测到眨眼睛?我阅读了框架,但我只是获得了获取眼睛位置的方法.另外,我听说过具有人脸检测功能的iphone OpenCV框架.我是否可以通过OpenCV框架完成我的闪烁工作?

任何人都可以帮我解决openCV或面部/眨眼检测的问题吗?我需要的是iphone/ipad上的眨眼检测.

任何建议/回复欢迎... Thanx.

编辑:由于iOS 5是在NDA下,请建议我是否可以通过OpenCV框架进行检测?

iphone opencv blink face-detection ios5

8
推荐指数
1
解决办法
9640
查看次数

REM字体大小未调整到低于任意阈值

在Mac Mojave 10.14.2上的Safari 12.0.2和Chrome 71.0.3578.98中,设置font-size使用rem单位时,实际大小不会低于此值9px.

看这个例子:

https://codepen.io/stephenjwatkins/pen/OrbGxL

渲染字体大小

我的浏览器的字体大小设置为默认值(16px),最小字体大小设置为6px:

浏览器字体设置

设置text-size-adjustnone不会影响问题.Firefox正确渲染大小.

我发现解决问题的唯一方法是设置font-size: 0;父元素.例如,如果您添加font-size: 0;.container,正确的字体大小呈现.

有谁知道它为什么不尊重rem某个阈值以下的尺寸?

css blink

8
推荐指数
1
解决办法
666
查看次数

css3动画硬闪烁(帧之间没有淡入淡出)

试图用css3动画连续闪现三个元素.我已经运行了,但每帧都有淡入淡出,我想将其删除.理想情况下,每个元素保持可见1秒,然后立即隐藏.

我试过设置与帧动画0%99%opacity:1100%opacity: 0,但仍然没有运气.

我希望有一种方法可以消除褪色!

webkit js小提琴

CSS:

.motion.play .frame {
    -webkit-animation-name: flash;
    -webkit-animation-duration: 3s;
    -webkit-animation-iteration-count: infinite;
    -webkit-animation-direction: linear;
}
    .frame:nth-of-type(2) {
        -webkit-animation-delay: 1s;
    }
    .frame:nth-of-type(3) {
        -webkit-animation-delay: 2s;
    }

    @-webkit-keyframes flash {
        0% {
            opacity: 1;
        }
        100% {
            opacity: 0;
        }
    }
Run Code Online (Sandbox Code Playgroud)

animation blink opacity css3

7
推荐指数
2
解决办法
7191
查看次数

Android 4.1+ 中区域设置更改后 Activity 闪烁

大约一年前,我已经实现了自定义区域设置选择,但在 4.1 版本之后,用户开始抱怨活动不断闪烁。这是我正在使用的代码(从不同的答案编译):

public final class TestApplication extends Application
{
    private Locale desiredLocale = new Locale("ru-RU");

    @Override
    public void onCreate() {
        super.onCreate();
        updateLocale(new Configuration());
    }

    @Override
    public void onConfigurationChanged(Configuration newConfig)
    {
        super.onConfigurationChanged(newConfig);
        updateLocale(newConfig);
    }

    private void updateLocale(Configuration newConfig) {
        newConfig.locale = desiredLocale;
        Locale.setDefault(desiredLocale);
        getBaseContext().getResources().updateConfiguration(newConfig, getBaseContext().getResources().getDisplayMetrics());        
    }    
}
Run Code Online (Sandbox Code Playgroud)

应用程序仅包含一个空活动,在我更改设备方向后,Android 每秒都会重新创建该活动。是样本来源。

看起来所有使用此技术的应用程序都无效了。正确的做法是什么?

configuration android locale blink android-activity

6
推荐指数
1
解决办法
2535
查看次数

为什么从 JavaScript 更改转换会导致重新计算样式事件,而 CSS 动画不会?

问题/疑问:

CSS 动画能够在不触发Recalculate Style或 的情况下平滑地改变元素的变换Update Layer Tree

为什么我们不能从 JavaScript 中做同样的事情,以便我们可以平滑地更改转换以响应诸如用户移动鼠标之类的事情?

演示:https : //jsfiddle.net/7frvyoqx/5/

const testElement = document.getElementById('test')

const interval = 2000

startCssAnimation()

function startCssAnimation() {
	testElement.className = 'animate'
  setTimeout(() => {
  	startJsAnimation()
  }, interval)
}

function startJsAnimation() {
	testElement.className = ''
  setTimeout(() => {
  	startCssAnimation()
    jsAnimateGo = false
  }, interval)
  jsAnimateGo = true
  frame = 0
  requestAnimationFrame(jsAnimate)
}

let frame = 0
let jsAnimateGo = false

function jsAnimate() {
	if (jsAnimateGo) {
    testElement.style.transform = `translateX(${frame++}px)` …
Run Code Online (Sandbox Code Playgroud)

javascript blink google-chrome-extension google-chrome-devtools css-animations

6
推荐指数
0
解决办法
520
查看次数