我在Maven Central Repository中有一个库.对于最新版本,我除了正常的.jar之外还推出了.aar存档.
但是我似乎无法让Android Studio使用该库的aar版本.在我的build.gradle文件中,我有:
dependencies {
compile 'com.android.support:appcompat-v7:19.+'
compile 'com.mygroup:mylibrary:1.2.2'
}
Run Code Online (Sandbox Code Playgroud)
这成功获取了jar文件,但是如何让它使用库的aar版本?我尝试了很多东西,包括(但不限于):
compile 'com.mygroup:mylibrary:1.2.2@aar'
compile group: 'com.mygroup', name: 'mylibrary', version: '1.2.2', type: 'aar'
compile group: 'com.mygroup', name: 'mylibrary', version: '1.2.2', packaging: 'aar'
compile group: 'com.mygroup', name: 'mylibrary', version: '1.2.2', extension: 'aar'
Run Code Online (Sandbox Code Playgroud)
但它总是加载罐子.
Gradle是否期望工件仅包含AAR(匹配的POM)?我是否需要为lib的AAR版本创建单独的工件?
我正在使用svg元素创建图表.我正在向他们应用事件处理程序.事件按预期工作,但我有一个问题,因为有时其中一个元素直接在另一个元素之上,所以当底部元素的事件应该被触发时,它不会.如果你看下面的图片,我有rect一个zoom事件.变焦event会在mouse-wheel发生时触发rect,但当圆圈覆盖它时,不会触发事件.我必须拥有它circles,rect以便在需要时可以点击它们.我怎么可能解决这个问题.我尝试在这里搜索解决方案SO,但找不到任何特定于此问题的内容.
我有一个显示圈子的JSFiddle.如果您在圆圈之外的任何位置进行缩放,则会触发缩放行为,但如果您尝试在圆圈顶部进行缩放,则缩放行为将不起作用.
您好,我使用的是光滑滑块,我想剪切容器的路径,但是剪切路径无法正常工作。
这是我的SVG路径
<svg width="0" height="0">
<defs>
<clipPath id="mask1">
<path id="curve" d="m242.6,393.7c-82.2,-4.7 -138.1,-15.4 -191.2,-36.6 -19.3,-7.7 -36.4,-16.1 -47.7,-23.5l-3.2,-2.1 -0,-71.5c-0,-39.3 -0.1,-113.9 -0.3,-165.8l-0.3,-94.2 371.1,0 371.1,0 0,152 0,152 -5.8,3.7c-7.8,5 -14.5,8.8 -23.4,13.4 -70.4,36.3 -187.2,62.5 -317.4,71.2 -28.6,1.9 -31.6,2 -91.2,1.9 -31,-0 -58.8,-0.2 -61.9,-0.4z">
</path>
</clipPath>
</defs>
</svg>Run Code Online (Sandbox Code Playgroud)
滑块起作用,但是剪切路径不适合100%窗口。
谢谢..对不起,我的英语..
我试图用鼠标旋转SVG路径.小提琴.但我几乎没有问题,
circle旋转后的位置.代码在这里:
var svgns = 'http://www.w3.org/2000/svg';
var path = document.getElementById('path-element');
var angle = 0;
function getRotationPoint() {
var bRect = path.getBoundingClientRect();
var rotationPoint = [bRect.left + (bRect.width / 2), bRect.top - 20];
return rotationPoint;
}
var rotationPoint = getRotationPoint();
var circle = document.createElementNS(svgns, 'circle');
circle.setAttribute('style', 'fill: #DCDCDC; stroke: red; stroke-width: 2; pointer-events: visiblePainted');
circle.setAttribute('cx', rotationPoint[0]);
circle.setAttribute('cy', rotationPoint[1]);
circle.setAttribute('r', 4);
document.querySelector('svg').appendChild(circle);
var mousedown = false, mouse_start = null;
circle.addEventListener('mousedown', function(event) {
mousedown = true; …Run Code Online (Sandbox Code Playgroud) 我是Renderscript的新手,我的第一个剧本引人注目.据我所知(从我插入的调试语句)我的代码工作正常,但是当它们被Allocation.copyTo(Bitmap)方法复制回Bitmap时,计算值会变得严重.
我得到了奇怪的颜色,所以最终剥离了我的脚本到这个样本,显示了问题:
void root(const uchar4 *v_in, uchar4 *v_out, const void *usrData, uint32_t x, uint32_t y)
{
*v_out = rsPackColorTo8888(1.f, 0.f, 0.f, 1.f);
if (x==0 && y==0) {
rsDebug("v_out ", v_out->x, v_out->y, v_out->z, v_out->w);
}
}
Run Code Online (Sandbox Code Playgroud)
这里我们只写出一个不透明的红色像素.调试行似乎打印正确的值(255 0 0 255),实际上我在位图中得到一个红色像素.
但是,如果我稍微更改红色像素上的alpha:
*v_out = rsPackColorTo8888(1.f, 0.f, 0.f, 0.998f);
Run Code Online (Sandbox Code Playgroud)
调试打印(255 0 0 254)仍然看似正确,但最终像素值最终为(0 0 0 254)即.黑色.
显然我怀疑这是一个预先提示的alpha问题,但我的理解是,从Bitmaps复制到Bitmaps的Allocation例程应该为你处理.至少这是Chet Haase在这篇博客文章中建议的:https://plus.google.com/u/0/+ChetHaase/posts/ef6Deey6xKA.
此外,没有任何示例计算脚本似乎提及预乘alpha的任何问题.我的脚本基于SDK中的HelloComputer示例.
如果我犯了一个错误,我会喜欢RS大师为我指出它.
令人遗憾的是,经过2年多的努力,Renderscript的文档仍然很糟糕.
PS.我正在使用的位图是ARGB_888,我正在构建和定位SDK18(Android 4.3)
我有一个包含自定义View类的本地aar文件(包括res / values / attrs.xml文件)。
我知道默认情况下本地aar尚未运行,并且我尝试了此处建议的所有变通方法:如何使用新的Gradle Android Build System手动包括外部aar软件包(Ran和Vipul的答案)。
但是,这些解决方案似乎都没有采用自定义View类。我的意思是它不会出现在布局编辑器的“自定义视图”下。
应该行吗?还是需要一些额外的gradle-fu伏都教徒?
我在一个 TextView 中使用了两种不同的字体:第一种是 SVG 字体,第二种是 TTF 字体。
要将带有文本的图标设置为 TextView,我正在使用它:
String icon =getContext().getString(iconId);//""
String text = getResources().getString(labelId);//"AnyText"
int iconLength = icon.length();
String fulltext = icon + " " + text;
SpannableStringBuilder spLabelWithIcon = new SpannableStringBuilder(fulltext);
spLabelWithIcon.setSpan(new CustomTypefaceSpan(TypefaceManager.ICONS.getTypeface()),
0, iconLength, Spanned.SPAN_EXCLUSIVE_INCLUSIVE);
spLabelWithIcon.setSpan(new CustomTypefaceSpan(TypefaceManager.GOTHAM_BOOK.getTypeface()),
iconLength, fulltext.length(), Spanned.SPAN_EXCLUSIVE_INCLUSIVE);
myTextView.setText(spLabelWithIcon);
Run Code Online (Sandbox Code Playgroud)
结果:图标不在行的垂直中心(或者文本不在垂直中心):
我需要捕获指针事件click和mousemove通过<SVG>宽度/高度定义的内容框之外的形状,通过渲染overflow: visible.
在这个例子中,circle正确渲染,当前的Chrome,FireFox和IE11确实捕获溢出部分上的指针事件,无论是否有例如padding.然而,在Safari 10.0.1 OS X,指针事件没有注册,甚至当我用padding,border和/或margin,不管可能8个排列的哪些.
Safari只会在<SVG>内容块中发出点击:https://jsfiddle.net/monfera/n1qgd5h4/5/
有没有办法监听溢出区域中的指针事件?我还没有检查Safari是否不合规(错误)或其他浏览器是否松懈.
我可以采用制作更大<SVG>元素的解决方法,但它会使盒子模型和CSS的大部分好处无效overflow,导致在JS中手动重做浏览器应该做什么.
我目前正在尝试生成一个表示适合网页宽度的正弦波的 SVG 路径。
我目前使用的算法是在绘制正弦波的两点之间绘制小线。
算法:
for(var i = 0; i < options.w; i++) {
var operator = ' M ';
d += operator + ((i - 1) * rarity + origin.x) + ', ';
d += (Math.sin(freq * (i - 1 + phase)) * amplitude + origin.y);
if(operator !== ' L ') { operator = ' L '; }
d += ' L ' + (i * rarity + origin.x) + ', ';
d += (Math.sin(freq * (i + phase)) …Run Code Online (Sandbox Code Playgroud) 我正在使用 Android Studio 中的 Asset Studio 从包含文本的 SVG 文件创建矢量资产。
但是文字不见了,我只能看到图像。
这是SVG文件内容,
<svg xmlns="http://www.w3.org/2000/svg" viewBox="-21895 -10897.906 36 30.996">
<defs>
<style>
.cls-1 {
fill: #e94b35;
}
.cls-2 {
fill: #891212;
}
.cls-3 {
fill: #fff;
font-size: 12px;
font-family: HelveticaNeue-Bold, Helvetica Neue;
font-weight: 700;
}
</style>
</defs>
<g id="label-new" transform="translate(-21896 -10967.906)">
<g id="id1" data-name="id 264" transform="translate(1 70)">
<rect id="id_278999" data-name="id 278999" class="cls-1" width="36" height="25"/>
</g>
<path id="id_61" data-name="id 61" class="cls-2" d="M6,0V4.33H0Z" transform="translate(1 100.996) rotate(-90)"/>
<text id="new" class="cls-3" transform="translate(7 85)"><tspan x="0" y="0">new</tspan></text>
</g>
</svg> …Run Code Online (Sandbox Code Playgroud)