草庐IT

make_point

全部标签

java - 从非 UI 线程调用 Snackbar.make() 是如何工作的?

我可以打电话Snackbar.make()从后台线程没有任何问题。这让我感到惊讶,因为我认为UI操作只能从UI线程进行。但这里绝对不是这种情况。究竟是什么Snackbar.make()不同的?当您从后台线程修改它时,为什么这不会像任何其他UI组件一样导致异常? 最佳答案 首先:make()不执行任何UI相关的操作,它只是创建一个新的Snackbar实例。这是给show()的电话这实际上添加了Snackbar到View层次结构并执行其他危险的UI相关任务。但是,您可以从任何线程安全地执行此操作,因为它被实现为在UI线程上调度任何显示或

[maxlength] =“ this ['point']”的含义是什么?

我遇到了这件代码[MaxLength]="this['point']"在角度template.我不知道如何在线找出含义。我知道[属性]=“fieldonComponent”的含义。但是我想知道为什么要使用this和['']在代码中。与此相关的语法是什么?看答案它是无证功能,让您在模板中编写代码[x]="this.prop"{{this.prop}}或使用括号符号[x]="this['prop']"{{this['prop']}}在哪里this是组件实例。plunker示例支持this曾是在Angular2.0.0-rc.5中添加.

Unable to make field private final java.lang.String java.io.File.path accessible: module java.base

最近老是遇到这个问题,因为需求经常变动,所以经常会去看三方库的Demo,但是build的时候老是爆这个错。Unabletomakefieldprivatefinaljava.lang.Stringjava.io.File.pathaccessible:modulejava.basedoesnot“opensjava.io”tounnamedmodule@4f3bc4f原因:其实就是java版本过高,三方库的版本一般较低,所以你的把版本降低一下。方法一:降低项目的java版本,选个1.8就行了,之前默认是jbr_17方法二:在项目的gradle.properties文件,在org.gradle.

Maven打包项目报错Unable to make field private com.sun.tools.javac.processing.JavacProcessingEnvironment

Maven打包项目报错Unabletomakefieldprivatecom.sun.tools.javac.processing.JavacProcessingEnvironment背景今天导入项目,帮助同学进行打包,结果打包时报错:Unabletomakefieldprivatecom.sun.tools.javac.processing.JavacProcessingEnvironment报错详述详细的报错信息为:Unabletomakefieldprivatecom.sun.tools.javac.processing.JavacProcessingEnvironment$Discov

android - SPAN_POINT_MARK 和 SPAN_MARK_POINT 有什么区别?

我一直在阅读Spanned/Spannable的文档我正在从事的项目的类(class)。我一直对包含MARK和POINT的span的定义和用法感到困惑。MARK似乎在Doc中被定义为“附加”到角色的位置,而POINT被定义为“粘附”到角色。因此,当文本更改时,MARK不会移动,而当文本更改时,POINT将随着它“粘附”到的字符移动。这些定义似乎表明MARK与INCLUSIVE同义,而POINT与EXCLUSIVE同义。但是,情况并非如此,因为SPAN_MARK_MARK和SPAN_POINT_POINT都不是SPAN_INCLUSIVE_INCLUSIVE或SPAN_EXCLUSIVE

android - Android 拖影的 'target point' 如何从它的 'touch point' 移开?

我正在开发一个应用程序,该应用程序可以更精确地控制拖动对象的放置位置。但是对于电容式触摸屏,用户的手指总是会遮住放置目标。Android允许通过覆盖View.DragShadowBuilder.onProvideShadowMetrics()来指定拖动阴影上的“触摸点”方法。但似乎没有办法提供一个移位的“目标点”。我想从拖动阴影的接触点转换一个箭头,它可以更精确地移动到放置目标上。问题:实现此目标的最简单/最优雅的方法是什么?我想我可以在拖动操作期间在屏幕上放置一个不可见的层,它会记录触摸点的坐标,转换它们并将它们发送到实际的放置目标-本质上是重新实现拖动事件。但我想知道是否有更简单的

安卓 : Alignment bug in making/showing 9patch image

九补丁:截图:布局XML:期望的结果:“edit_tray”表示可切换的UI元素。当编辑模式关闭时,“edit_tray”(以及垃圾桶图标)“消失”了。当编辑模式打开时,“edit_tray”可见并覆盖在ScrollView内容上。垃圾桶图标有两个元素:图标本身和它后面的线性渐变。NinePatch图像包含三个可拉伸(stretch)区域和一个静态区域以容纳这些元素。图形中间的垃圾桶图标是静态的,应该直接出现在屏幕的水平中心和底部。渐变应在屏幕底部从一侧延伸到另一侧。错误?NinePatch图像在图像的两侧水平方向仅包含一个像素的可拉伸(stretch)区域。其效果应该是垃圾桶图标直接

c++ - 返回对齐内存是否需要 std::make_unique<T[]> ?

是唯一指针array_ptr拥有的内存:autoarray_ptr=std::make_unique(size);对齐到sizeof(double)alignof(double)边界(即,std是否要求正确对齐)?数组的第一个元素是缓存行的第一个元素吗?否则:在C++14中实现此目的的正确方法是什么?动机(更新):我计划在数组上使用SIMD指令,并且由于缓存行是我所知道的每个架构上的基本内存单元,所以我宁愿正确分配内存,以便array位于缓存行的开头。请注意,只要元素正确对齐(独立于缓存行之间元素的位置),SIMD指令就可以工作。但是,我不知道这是否有影响,但我猜是的,有影响。此外,我

c++ - std::make_shared 和 std::make_unique 有 "nothrow"版本吗?

对于new运算符,我们有std::nothrow版本:std::unique_ptrp=new(std::nothrow)T();std::make_shared或std::make_unique有这样的东西吗? 最佳答案 不,我们没有。查看make_unique的cppreference页面和make_shared,我们看到每个版本都使用默认的new重载。实现一个并不难,但是,像这样:templatestd::unique_ptrmake_unique_nothrow(Args&&...args)noexcept(noexcept

c++ - 自 C++17 的类模板参数推导以来,std::make_move_iterator 是否多余?

从C++11开始,要将一些vectory附加到另一个vectorx,您可以这样做:x.insert(x.end(),std::make_move_iterator(y.begin()),std::make_move_iterator(y.end()));使用C++17类模板参数推导,可以更简洁地编写此代码:x.insert(x.end(),std::move_iterator(y.begin()),std::move_iterator(y.end()));从C++17开始,这不会使std::make_move_iterator变得多余吗?std::make_move_iterator(