小编rup*_*pps的帖子

Use all files in a folder like a one big JS

Is it possible to configure ESLint in WebStorm so functions, variables, etc. are parsed also from files in the same folder? In my build process, I concatenate all files in the same folders into big closures, for example:

   src/
      main/          ===> "main.js"
          api.js
          init.js
          ui.js
          constants.js
          .
          .
      renderer/      ===> "renderer.js"
          core.js
          events.js
Run Code Online (Sandbox Code Playgroud)

I would like ESLint to treat all those files just like one, so I don't get "undef" errors for things that are defined.

If it can't be …

javascript webstorm eslint

7
推荐指数
1
解决办法
146
查看次数

Flutter,拦截嵌套小部件中的触摸事件(PageView 案例中的 Map)

My FlutterMap( flutter_map),响应缩放/平移/点击手势 \n 是 a 的最后一个元素CustomScrollView,它本身就是 a 的页面之一PageView

\n\n

TL/DR:我希望地图始终能够获取事件。

\n\n

在此输入图像描述

\n\n

如图所示,左右触摸事件用于PageView滚动页面。向上-向下事件用于CustomScrollView滚动条子。所以地图通常不会收到任何事件,或者随机地,某些事件 \xe2\x9a\x94\xef\xb8\x8f赢得了竞技场战斗并让用户与地图交互。

\n\n
 \xe2\x9d\x99 \xe2\x98\x85 Opening new gesture arena.\n \xe2\x9d\x99 Adding: TapGestureRecognizer#df66a(debugOwner: GestureDetector, state: ready, button: 1)\n \xe2\x9d\x99 Adding: VerticalDragGestureRecognizer#2b952(start behavior: start)\n \xe2\x9d\x99 Adding: HorizontalDragGestureRecognizer#dbeae(start behavior: start)\n \xe2\x9d\x99 Closing with 3 members.\n \xe2\x9d\x99 Rejecting: TapGestureRecognizer#df66a(debugOwner: GestureDetector, state: possible, button: 1)\n \xe2\x9d\x99 Accepting: VerticalDragGestureRecognizer#2b952(start behavior: start)\n \xe2\x9d\x99 Self-declared winner: VerticalDragGestureRecognizer#2b952(start behavior: start)\n
Run Code Online (Sandbox Code Playgroud)\n\n

自称的获胜者几乎VerticalDrag总是 …

android gesture touch-event flutter

7
推荐指数
0
解决办法
1061
查看次数

带有子视图的ScrollView,如何有条件地拦截滚动

我有一个容器ViewGroup,可以把它的屏幕ScrollView.这个容器视图托管了许多其他Views的调用它们的小部件,其中一些有兴趣阻止ScrollView滚动并使用MotionEvent自己(例如一个pannable图像)

我无法弄清楚要使用的正确的事件拦截策略.ScrollView始终在子项之前处理事件,或者子项处理事件但是scrollview已禁用.

我读过关于getParent().requestDisableInterceptTouchEvent()在子视图中发出这个视图是否想要捕获事件,但是onTouchEvent没有调用它们,我想是因为ScrollView事先已经吞没了事件.我想我有2级层(容器+小部件)的事实阻止了它的工作,我想容器ViewGroup必须在这里发挥重要作用,但我无法弄清楚哪一个......

我是否可以在ScrollView's onInterceptTouchEvent级别上知道容器上的哪个小部件viewGroup被触摸以决定是否应该拦截?

要么...

如何才能获得事件中的"小部件"图层,ViewGroupScrollView以便我可以调用getParent().onRequestDisableInterceptTouch() ......或者是它getParent().getParent().onRequestDisableInterceptTouch()

提前致谢

我已阅读相关问题,但没有运气...... 在ScrollView Android中处理触摸事件

android touch scrollview touch-event

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

屏幕顶部的自定义Toast

请在回答标准例程之前阅读问题以打印Toast :)

我想在屏幕的左上角显示自定义Toast.我使用此代码创建Toast:

    Toast mFixedToast = new Toast(getApplicationContext());
    mFixedToast.setDuration(timeout);
    mFixedToast.setView(myInflatedLayout);
    mFixedToast.setGravity(Gravity.TOP|Gravity.FILL_HORIZONTAL, 0, 0);
    mFixedToast.setMargins(0,0);
Run Code Online (Sandbox Code Playgroud)

然而,在一些设备中,例如三星Galaxy S4,吐司不是位于(0,0),而是具有40-50像素的边缘.许多其他设备按预期工作.

我很肯定WindowManager添加了边距(Toast视图作为TYPE_TOAST类型的视图添加到WindowManager)

这是为什么?可以修改吗?请看下面的代码,我已经将Toast.java克隆到我自己的类中,并隔离了将视图添加到WM的行:

 // LayoutParams for the TOAST view ... tried to change params.type but no luck.
 final WindowManager.LayoutParams params = mParams;
 params.height = WindowManager.LayoutParams.WRAP_CONTENT;
 params.width = WindowManager.LayoutParams.WRAP_CONTENT;
 params.flags = WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE
              | WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE
              | WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON;
            params.format = PixelFormat.TRANSLUCENT;
 params.windowAnimations = android.R.style.Animation_Toast;
 params.type = WindowManager.LayoutParams.TYPE_TOAST;

 mWM = (WindowManager)mView.getContext().getApplicationContext().getSystemService(Context.WINDOW_SERVICE);
 mParams.gravity = gravity;

 // CHECKED these all are 0 !!!
 mParams.x = mX; mParams.y = …
Run Code Online (Sandbox Code Playgroud)

android customizing layoutparams android-toast

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

WKWebView和NSURLCache用于提供本地内容

我的应用程序加载了一个非常大的webapp UIWebView.

我写了一个NSURLCache扩展名" LocalCache".

LocalCache扩展程序拦截我的webapp加载,并从加密的本地应用程序包中提供所有请求的文件.该逻辑在NSURLCache's cachedResponseForRequest方法中实现.因此该应用程序在本地100%提供:

class LocalCache:NSURLCache {
    override func cachedResponseForRequest( request: NSURLRequest) -> NSCachedURLResponse? {
        if (request points to my domain) {
            get file from bundle
            decrypt it
            return local copy
        } else {
            return super.cachedResponseForRequest(request)
        }
    }
}

NSURLCache.setSharedURLCache(LocalCache());
Run Code Online (Sandbox Code Playgroud)

我想将此功能移植到WKWebkit.我想知道是否有办法实现类似的东西,因为不幸的是,你可能知道,WKWebView不使用NSProtocol,NSUrl,NSUrlCache的Cocoa堆栈....使我当前的方法无用.

那么,可以用类似的东西完成WkWebView吗?

注意:UiWebView"认为"我的应用程序来自远程服务器的事实是应用程序的关键:如果我只是在本地加载应用程序,即.file://,有很多东西不起作用,例如,YouTube视频,因为youtube api抱怨" file://"不是批准的来源.所以WkWebView我正在寻找的解决方案必须与拦截缓存相关,而不是注入本地javascript.

nsurlcache swift ios8 wkwebview

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

Electron BrowserView 渲染器进程与 WebView

我正在将 Electron 应用程序从传统的渲染器 + Webview 架构移植到使用BrowserView对象的架构。该应用程序使用一些在所有可用的监视器中BrowserWindows显示webview全屏。渲染器进程基本上保持index.html100 webview% 的大小。

我对渲染器进程和浏览器视图有点困惑。

使用新方法,我只需将preload脚本注入构造函数中BrowserView,而不在其BrowserWindow自身上加载任何页面:

browserViewOptions = {
    webPreferences: {
        preload: (__dirname + "/preload.js"),
        partition: "persist:ns",
        nodeIntegration: false,
        plugins: false
    }
};
Run Code Online (Sandbox Code Playgroud)
  1. 这是什么渲染进程?是传统的渲染过程吗webviews?或者BrowserViews有自己的渲染器进程吗?
    1. 如果是传统方式,在我也加载页面的情况下是否共享BrowserWindow
  2. 我不加载页面有BrowserWindow什么关系吗?我的意思是,如果我不加载页面BrowserWindow(只是创建窗口来附加一个页面BrowserView),是否还有另一个正在运行空页面的 Chromium 进程
    1. 如果是,如果我只对 感兴趣,可以防止这种情况吗BrowserView
  3. 如果我将内容保留在 上BrowserWindow并偶尔隐藏BrowserViews以显示它们,是否会出现“透支”问题?

webview chromium electron

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

超慢的tablelayout性能

我遇到了可怕的TableLayout性能.我在这里读了一些关于同样的帖子......

Android动态创建表 - 性能不佳

我在已经很复杂的布局中使用了tablelayout.我已经使用了很多视图,当然我使用的视图越多,性能越差,这是显而易见的,但我想知道与其他小部件相比,性能是如何可能的那么糟糕.

在我的例子中,一个表格布局,假设5*5文本视图(行中只有纯文本视图)导致系统冻结的时间超过1.5秒,有时只是通过更新TextView.我不是在谈论渲染整个表,而只是在tablelayout中更新一个textview.

我怀疑是setColumnsStretchable(),但即使将其设置为永不拉伸,性能也是一样的.

public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
    final TextView target=(TextView)seekBar.getTag();
    target.setText(""+progress);
}
Run Code Online (Sandbox Code Playgroud)

这是我用来更新单元格的代码.如您所见,它是SeekBar监听器的一部分.我甚至不需要findView()或任何东西,因为我将目标textview存储为seekbar的标签.

因此,移动搜索栏会导致跳跃:需要超过一秒钟!单独执行setText().如果我更新不在表内的任何其他文本视图,则会立即按预期更新.

如果我的桌子是10*10,那么它需要3秒钟!

在你的经历TableLayout是否禁止或者我可能做错了什么?也许行或单元布局的一些神奇值?

提前致谢.

performance android tablelayout

5
推荐指数
0
解决办法
1466
查看次数

在textSpan中触发自定义drawable中刷新的正确方法

我已经为SpannableStrings" ImageURLSpan"扩展了一个自定义范围ImageSpan.

  • ImageSpan配置了Drawable" RemoteImageDrawable",它呈现静态占位符,从Internet加载图像,然后在图像加载完成后,它应该渲染加载的位图而不是占位符.如果draw()再次调用drawable 的方法(由父级view?)会发生这种情况

我的问题是,在可绘制级别,我不知道如何在将来的任何时候触发"自动刷新"(一旦加载图像).我试图invalidate用不一致的结果调用父视图:有时候再次调用drawable的draw方法 - 所以它被正确刷新 - 有时它不是.这完全是随机的!

什么是drawable的正确方法,将其内容更改为"使自己无效"?不应该使父View的失效导致所有子drawables无效?我是否需要使用Drawable回调或者它们与我的问题无关?

请找附件相关代码:

public class ImageUrlSpan extends ImageSpan {

    public ImageUrlSpan(final View parentView, String imageUrl, int width, int height) {
            super(
                    new RemoteImageDrawable(
                            parentView, imageUrl, width, height, new ImageLoaders.OnDrawableDownloadListener() {

                                @Override
                                public void onDrawableLoaded(Drawable bitmap) {
                                    parentView.invalidate();
                                    // this works sometimes
                                    if (Conf.LOG_ON) Log.v(TAG, "Invalidating parent view... will that refresh myself? "+parentView);
                                }
                            }
                    ));
        }
    }
Run Code Online (Sandbox Code Playgroud)

关于代码RemoteImageDrawable …

android spannablestring android-drawable

5
推荐指数
0
解决办法
1086
查看次数

drawBitmap到带有透明位图的画布,替换原始像素

我的应用程序允许用户编辑图像.在"切片"中编辑图像:用户选择要编辑的大图像的一部分(1),用户编辑它(2,3),然后当用户完成时,将编辑的切片复制回原始图像上. image(4).您可以在下图中看到简化的过程.

示例工作流程

  • 要编辑切片,我创建一个裁剪区域的位图,这是用户编辑的位图(2,3).

  • 当用户完成时,我只是drawBitmap()切片进入原始图像(4).这个过程比较复杂,因为原始图像有一个转换矩阵,我必须反转等,但为了简单起见,这就足够了.

用户清除切片(3)中的一些像素时出现问题.我找不到合适的PorterDuff / Paint模式,因此编辑后的切片会替换原始图像上的部分,即使是透明像素也是如此.我想要的是得到(4)所示的结果

到目前为止,我最好的选择是使用PorterDuff.SRC,但如下图所示,透明像素在原始图像中变为黑色.如果我将paint的颜色设置为Transparent,则整个结果为黑色.

    mBlitPaint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SRC));
    mImageCanvas.drawBitmap(mArenaBitmap, invertedMatrix, mBlitPaint);
Run Code Online (Sandbox Code Playgroud)

我也试过SRC_OVER,mImageCanvas.drawARGB (0xff,0,0,0),但没有运气.在第一种情况下,透明像素被忽略.在第二个中,透明像素被涂成黑色.

样本结果

transparency android porter-duff android-canvas

5
推荐指数
0
解决办法
393
查看次数

Node.js加密密钥和iv匹配java SecretKeySpec/IvParameterSpec

我正在尝试将Java(简单)加密algorythm移植到Node JS.我需要能够解密/加密从Java端加密/解密的东西.

我一开始就陷入困境,密码的初始化.

在Java中,我得到了密钥SecretKeySpec和初始化向量IvParameterSpec:

public CryptStuff(String password) throws zillion_exceptions {
    if (password==null) throw new InvalidKeyException("No encryption password is set!");
    key = new SecretKeySpec(password.getBytes("UTF-8"), "AES");
    cipher = Cipher.getInstance("AES/CBC/PKCS5Padding");
    ivSpec=new IvParameterSpec(new byte[cipher.getBlockSize()]);
    cipher.init(Cipher.ENCRYPT_MODE, key, ivSpec);
}
Run Code Online (Sandbox Code Playgroud)

NodeJS需要一个密钥缓冲区和一个IV缓冲区,但是,我不知道如何从头开始计算它们:

var mCrypto = require('crypto'),
    key=[0,0,0,0,0,0,.......],
    iv=[0,0,0,0,0,.........];

function init (password) {

    // generate key from password
    // generate IV from blocksize?

    var aesCipher = mCrypto.createCipheriv("aes-????????", (new Buffer(key)), (new Buffer(iv)));
    .
    .
    .
}
Run Code Online (Sandbox Code Playgroud)

另外,AES/CBC/PKCS5Padding的匹配算法字符串是什么?

encryption cryptography aes padding node.js

5
推荐指数
1
解决办法
4830
查看次数