小编Pau*_*eau的帖子

一个maven神器可以包含jar和aar吗?

我在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版本创建单独的工件?

android android-studio android-gradle-plugin aar

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

Stacked Element阻止事件传播

我正在使用svg元素创建图表.我正在向他们应用事件处理程序.事件按预期工作,但我有一个问题,因为有时其中一个元素直接在另一个元素之上,所以当底部元素的事件应该被触发时,它不会.如果你看下面的图片,我有rect一个zoom事件.变焦event会在mouse-wheel发生时触发rect,但当圆圈覆盖它时,不会触发事件.我必须拥有它circles,rect以便在需要时可以点击它们.我怎么可能解决这个问题.我尝试在这里搜索解决方案SO,但找不到任何特定于此问题的内容.

我有一个显示圈子的JSFiddle.如果您在圆圈之外的任何位置进行缩放,则会触发缩放行为,但如果您尝试在圆圈顶部进行缩放,则缩放行为将不起作用.

在此输入图像描述

html javascript svg d3.js

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

剪切路径的宽度不是100%的宽度

在此处输入图片说明

您好,我使用的是光滑滑块,我想剪切容器的路径,但是剪切路径无法正常工作。

这是我的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%窗口。

谢谢..对不起,我的英语..

html css svg clip-path

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

路径绘图和使用鼠标调整大小

我试图用鼠标旋转SVG路径.小提琴.但我几乎没有问题,

  1. 轮换的起源是错误的
  2. 当我停止旋转并再次旋转时,它从不同的起始角度开始,而不是从前一个角度开始.
  3. 不确定如何更新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)

javascript svg

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

Allocation.copyTo(Bitmap)破坏像素值

我是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)

android renderscript

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

无法访问本地aar库中的自定义视图?

我有一个包含自定义View类的本地aar文件(包括res / values / attrs.xml文件)。

我知道默认情况下本地aar尚未运行,并且我尝试了此处建议的所有变通方法:如何使用新的Gradle Android Build System手动包括外部aar软件包(Ran和Vipul的答案)。

但是,这些解决方案似乎都没有采用自定义View类。我的意思是它不会出现在布局编辑器的“自定义视图”下。

应该行吗?还是需要一些额外的gradle-fu伏都教徒?

android gradle android-studio aar

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

如何设置 SpannableStringBuilder 的重心?

我在一个 TextView 中使用了两种不同的字体:第一种是 SVG 字体,第二种是 TTF 字体。

要将带有文本的图标设置为 TextView,我正在使用它:

        String icon =getContext().getString(iconId);//"&#xF119;"
        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)

结果:图标不在行的垂直中心(或者文本不在垂直中心):

在此处输入图片说明

android text spannable

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

Safari(OS X)不会在溢出的SVG内容上发出指针事件

我需要捕获指针事件clickmousemove通过<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中手动重做浏览器应该做什么.

css safari svg overflow pointer-events

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

生成一段SVG正弦波

我目前正在尝试生成一个表示适合网页宽度的正弦波的 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)

javascript css algorithm svg

5
推荐指数
2
解决办法
5040
查看次数

在 Android Studio 中使用包含文本的 SVG 创建资产时,SVG 文本消失了

我正在使用 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)

android android-studio android-vectordrawable

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