问题标签 [androidsvg]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1653 浏览

android - 使用 AndroidSVG 和 Universal Image Loader 解码 SVG

我正在尝试使用 uil 显示 svg。我使用 androidsvg ( http://code.google.com/p/androidsvg/ ) 编写了自己的图像解码器,如下所示:

显示 SVG,但出现以下问题:

1.) 颜色和图片未渲染和显示 2.) 渲染时间过长,logcat 显示如下内容:

那么,如何提高性能并解决问题呢?有没有更好的方法将 svgs 与 uil 集成?

0 投票
1 回答
184 浏览

android - 当应用程序以返回或主页关闭时使用 cpu 的 Android 应用程序 - ViewPager 中的动画

我有一个应用程序,它在 ViewPager 中的片段中有动画。我有 ViewPager 显示在列表片段的空选项上。动画是在 AnimatorSets 中组合的 NineOldAndroids ObjectAnimators,其中一些动画 SVG 使用 svg-android 显示。

当我在 ViewPager 上更改页面时,动画停止在片段中使用此代码:

而View中的这段代码实现了ValueAnimator.AnimatorUpdateListener:

如果不在动画页面上按返回退出,应用程序即使在几个小时后也会使用 1-5% 的 CPU。如果在制作动画时在页面上按下返回,则应用在后台运行时会占用 10-30% 的 CPU。

有没有很好的方法可以通过 onPause 被调用的片段?任何想法为什么当动画停止时应用程序仍然使用 1-5% 的 CPU?

我发现这不可能在一个小到足以在 Stack Exchange 上发布的应用程序中复制。

0 投票
0 回答
1028 浏览

android - Android:通过放大/缩小在 SVGImageView 上绘制矩形

从本质上讲,我正在尝试将多个 ImageView(其中一个是平面图,另一个是矩形)层叠在一起,同时仍然允许捏缩放。我要的效果与这篇文章非常相似:http://stackoverflow.com/questions/10482229/draw-rectangle-over-imageview-for-highlight-that-c​​an-be-zoom-in-out-在-android?rq=1。但是,我希望矩形出现在应用程序启动时(而不是当用户点击屏幕时)并随着时间的推移更新其位置。

我的一张图片是平面图的 SVG 文件。我正在使用 AndroidSVG 库 (https://code.google.com/p/androidsvg/) 将其作为 SVGImageView 呈现给 Android。我当前的实现允许缩放和平移这个 SVG 文件(在应用程序启动时:http://imgur.com/SceJuni;在缩放后:http://imgur.com/wL8anKd)。

(抱歉链接中的空间;我没有 10 个声望点,所以我不能发布多个链接)

现在我需要用一个矩形覆盖这个 SVGImageView 来表示这个地图上的一个位置。我希望这个矩形在 SVGImageView 放大和缩小时放大和缩小。我考虑使用此链接(https://github.com/matabii/scale-imageview-android)中的 ScaleImageView 类,但现在我不确定如何继续。

这是回购:https ://github.com/mthai95/SVGApp

这是我到目前为止所拥有的:

0 投票
1 回答
768 浏览

android - 如何等到路径在android的画布上绘制?

我的列表中有不同的路径,我想一次在 Canvas 上绘制一个路径,但我正在执行一个 for 循环,并且在绘制一条路径时,另一条路径开始在 Canvas 上绘制。我该怎么做才能停止 for 循环或等到绘制路径。下面给出了 for 循环。

onDraw(Canvas canvas) 方法代码。mPaths List 变量的大小为 24。问题是一次要绘制一条路径,但是当我将其保留在 for 循环中时,所有 24 条路径都是同时绘制的。

0 投票
1 回答
905 浏览

android - 计算用户与某点之间的距离Android中的元素

我想通过AndroidSVG库在 Android 中渲染我的 svg(但我愿意使用其他解决方案)。接收到 Touchevent 时,我想计算触摸事件与给定 svg 元素之间的距离。特别是一个<svg:g id:"myElement">元素。该元素又包含了一群<svg:path ...>孩子。

目前我不知道如何完成这项任务。即使默认情况下没有可用的库支持此功能,如果有人能指出我可以实现的算法,我将不胜感激。

0 投票
1 回答
848 浏览

android - 如何将 Drawable 转换为缩放位图

在我的 ImageView 中,onDraw我正在努力将 Drawable 对象转换为位图(考虑缩放)。我正在加载一个 SVG 文件作为 PictureDrawable。然后我尝试使用 BitmapShader 将圆角应用于图像。为此,我必须将 Drawable 转换为位图。它基本上可以工作,但我并没有完全了解缩放过程。

centerCrop 缩放的错误渲染示例: 截屏

除了上面代码注释中描述的问题之外,我想知道是否可以使用诸如 clipPath 之类的绘图操作来屏蔽图片/SVG 文件,而不是这种繁重的位图转换。但当然,它必须是抗锯齿的。

该代码最初是用 Scala 编写的,并为 SO 松散地翻译成 Java,所以请忽略任何语法错误

0 投票
1 回答
73 浏览

android - 将不透明度设置为 PictureDrawable

我需要一条关于为PictureDrawable对象设置不透明度的建议,因为通常setAlpha()没有在PictureDrawable. 我的案例与这个非常相似(我还使用库从原始资源中的 SVG 中获取我的可绘制对象)。但我不能使用该解决方案,因为我想动态更改不透明度(而不是在创建时应用滤色器)。

当在SurfaceView.

在这种情况下有什么好的解决方法?

谢谢你。

0 投票
0 回答
706 浏览

android - Android Lollipop:Webview .svg 文件支持

我正在开发从 webview 中的服务器加载数据的应用程序。此数据包含来自 .svg 文件的图标。问题是图标正在正确呈现较低版本的 Android,但在 android 棒棒糖而不是图标中,它显示随机文本。SVG 文件是通过我们在 webview 中加载的 html 代码中的 css 添加的。

有人知道android Web View 在Android lollipop 中支持.SVG 吗?

或者

我是否需要在服务器端进行 Lollipop 特定更改?

谢谢你

0 投票
1 回答
15219 浏览

android - android:将灰度过滤器设置为imageView

我使用这个在 imageView 上显示 svg 图像,我想用这个 imageView 显示锁定和解锁模式,当状态被锁定时,在灰度滤色器中显示 imageView。类似于 css 上的这段代码:

-webkit-filter: grayscale(100%); opacity: 0.5;

我怎样才能做到这一点 ?有谁能够帮我 ?谢谢

0 投票
2 回答
1452 浏览

android - Android Volley 显示 SVG 图像

在我的 Android 应用程序中,我从我的网站下载文本内容并将其存储在我的 mysql 数据库中。现在我想从同一个网站下载和缓存图像。使用 AndroidVolley 的<com.android.volley.toolbox.NetworkImageView,下载普通图片效果很好。但我想下载 SVG 矢量图像,将它们缓存并显示在我的应用程序中。到目前为止,这在 Android Volley 中是不可能的......

我已经尝试使用 AndroidVolley 作为字符串下载 SVG,然后将它们放入 svg-android 元素(请参见此处),但 svg-android 从未显示我的图像。看来,它无法显示由 Inkscape 创建的 SVG ......

有谁知道一种简单的方法,如何下载这些文件并在视图中显示它们?

谢谢

// 更新 27.3.2015 //

所以这是我的解决方案:使用 Android Volley,我设置 aStringRequest以将我的 SVG-Image 作为字符串访问。AndroidSVG库(不要与 svg-android 库混淆)可以将此 String 转换为 SVG-Object 并将其放入SVGImageView-View 中。这是一个示例代码,它是如何工作的:

非常感谢!