android-vectordrawable 相关问题

VectorDrawable是一个矢量图形,在XML文件中定义为一组点,线和曲线及其相关的颜色信息。

如何查看/查看Android矢量drawable XML?

如何直观地看到 Android 矢量可绘制 XML 中的图片? 我反汇编了 Apk 文件,现在我想替换图标,但是如何在代码中直观地看到它们。有程序吗

回答 1 投票 0

如何使用 jetpack compse 使 AnimatedImageVector 一次为单个路径制作动画?

我使用的 SVG 文件包含 33 个路径,每个路径都是一个圆圈 可绘制.xml: 我使用的 SVG 文件包含 33 个路径,每个路径都是一个圆圈 drawable.xml: <group android:name="circle1" android:pivotX="242" android:pivotY="242" android:rotation="0.0"> <path android:fillColor="#fff" android:pathData="M337.72,41.45m-18.01,0a18.01,18.01 0,1 1,36.02 0a18.01,18.01 0,1 1,-36.02 0" android:strokeColor="#92278f" android:strokeWidth="2"/> </group> 我试图在每次点击时将这些圆圈一一动画化 animated_vector.xml <target android:animation="@animator/animate1" android:name="circle31" /> 撰写: @Composable fun Animation(){ val image = AnimatedImageVector.animatedVectorResource(id = R.drawable.azkar_animated_vector) var atEnd by remember { mutableStateOf(false) } Image( painter = rememberAnimatedVectorPainter(image, atEnd), contentDescription = "Timer", modifier = Modifier .fillMaxWidth() .height(400.dp) .clickable { atEnd = !atEnd }, contentScale = ContentScale.Fit ) } 如何在每次点击时一次为每个目标路径设置动画? 提前谢谢您。 您只能为给定的 AnimatedImageVector 指定单个动画可绘制对象。 AnimatedImageVector 也只有一种动画状态,即 atEnd。您可以,在每次单击时,切换AnimatedImageVector的可绘制对象,但您仍然只有一个状态对象,因此您将丢失其他圆圈的动画状态。 相反,我建议您为每个圆圈设置单独的 Image。然后,您可以为每个图像提供自己的 AnimatedImageVector,该图像将具有自己的 atEnd 状态。为此,您需要剪下 33 条路径并将它们放置在单独的绘图中。然后您可以单独为它们设置动画。

回答 1 投票 0

圆圈中可绘制的矢量

有没有一种简单的方法来生成矢量可绘制对象,即从现有矢量可绘制对象中生成一个带有图标的圆圈? 示例:

回答 5 投票 0

如何在 Compose 中使用动画矢量绘图

我创建了矢量可绘制动画,我想在 Compose 中使用。我在官方文档中发现我需要调用animatedVectorResource。但整个 AnimatedImageVector 已被删除...

回答 3 投票 0

在 Compose 中旋转 ImageVector

我将材质图标存储在数据类中,如下所示: 导入 androidx.compose.ui.graphics.vector.ImageVector 数据类项目( val 图标:ImageVector ) val item = Item(Icons.Filled.Send) 它...

回答 4 投票 0

由于 AnimatedVectorDrawableCompat 导致的 AppNotIdleException

我有以下动画矢量可绘制: 我有以下动画矢量可绘制: <?xml version="1.0" encoding="utf-8"?> <animated-vector xmlns:android="http://schemas.android.com/apk/res/android" android:drawable="@drawable/ic_ventilation" > <target android:name="fan_group" android:animation="@animator/fan_rotation_animation" /> </animated-vector> 它只是使用旋转动画为风扇设置动画。 我在 ImageView 中设置此图标并调用以下方法控制开始/停止动画(nnly 在 Lollipop 和 high 中): public void setStopped(boolean stopped) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { this.setImageResource(R.drawable.ic_ventilation_animated); Drawable drawable = this.getDrawable(); if (drawable instanceof AnimatedVectorDrawableCompat) { if(stopped) { ((AnimatedVectorDrawableCompat) drawable).stop(); } else { ((AnimatedVectorDrawableCompat) drawable).start(); } } } } 但是我遇到以下异常: android.support.test.espresso.AppNotIdleException: Looped for 3654 iterations over 60 SECONDS. The following Idle Conditions failed . at dalvik.system.VMStack.getThreadStackTrace(Native Method) at java.lang.Thread.getStackTrace(Thread.java:580) at android.support.test.espresso.base.DefaultFailureHandler.getUserFriendlyError(DefaultFailureHandler.java:88) at android.support.test.espresso.base.DefaultFailureHandler.handle(DefaultFailureHandler.java:51) at android.support.test.espresso.ViewInteraction.waitForAndHandleInteractionResults(ViewInteraction.java:312) at android.support.test.espresso.ViewInteraction.desugaredPerform(ViewInteraction.java:173) at android.support.test.espresso.ViewInteraction.perform(ViewInteraction.java:114) 我在开发者选项菜单中禁用了动画,如此处所述。 禁用动画后,我发现调用 ((AnimatedVectorDrawableCompat) drawable).start(); 后图标不再有动画效果。但是,会引发异常。 即使动画被禁用,调用((AnimatedVectorDrawableCompat) drawable).start();方法时是否有问题?我该如何解决这个问题,以便我可以运行我的测试而无需关心动画? 在我的例子中,这个问题是由设置为无限重复动画的objectAnimator引起的(android:repeatCount="infinite")。 该问题也仅存在于较旧的平台版本上。测试在 Android 9 上完美运行,而问题在 Android 5 和 6 上重现(目前不确定 7 和 8)。 我相信,问题的根本原因与不确定的进度条相同(在此问题中涵盖)。但是,我还没有找到任何好的解决方案,只有解决方法。 解决方法之一是检测设置中动画已关闭(动画师持续时间为 0),并且不启动动画。当然,这只适用于动画不自动启动的平台版本。 private fun startIconAnimation(imageView: ImageView) { if (areAnimationsEnabled()) { (imageView.drawable as Animatable).start() } } private fun areAnimationsEnabled(): Boolean { val animatorDurationScale = Settings.Global.getFloat( requireContext().contentResolver, Settings.Global.ANIMATOR_DURATION_SCALE, 1.0f ) return animatorDurationScale != 0.0f } 注意:API 级别 26 引入了静态方法ValueAnimator.areAnimatorsEnabled(),如果问题不仅仅发生在旧平台版本上,这会很方便。

回答 1 投票 0

当我尝试在 Android Studio 中插入新的矢量资源时,“没有任何内容可显示”

“没有可显示”错误 - 矢量资源 大家好。所以,最近我将 Android Studio 版本更新到了 4.1(最新版本)。我想像平常一样添加矢量资源,但是..有些...

回答 3 投票 0

如何修复 Android Studio 中的矢量资源中没有任何内容可显示的问题

我想添加一个新的矢量资源。我正在尝试添加剪贴画,但它仅显示在“无可显示”对话框中。没有显示图标,我想添加一个图标。我不知道要解决这个问题。

回答 8 投票 0

Android TextInputLayout endIconDrawable 显示为灰色而不是图像

TextInputLayout endIconDrawable 显示为灰色而不是所需的图像。 只有该图像呈现为灰色。我尝试将图像作为 png 并导入 svg 作为矢量资源。 两者都不起作用

回答 2 投票 0

如何在 Android 中为圆形文档创建矢量绘图

我怎样才能在一个圆圈中绘制文档的矢量绘图,请看起来像这样或类似的东西 谢谢 R

回答 1 投票 0

Jetpack Compose 应用程序从以前的版本更新时崩溃了

从以前的版本更新时我的应用程序崩溃并出现异常: java.lang.IllegalArgumentException:仅支持 VectorDrawables 和光栅化资源类型。 PNG、JPG 当......时它运行良好

回答 1 投票 0

如何最小化Android矢量可绘制文件中的“非常长的矢量路径”

如何使用鳄梨优化器工具最小化矢量可绘制文件中的非常长的矢量路径。 我尝试过使用 svg 编辑器,但矢量路径仍然很长,因此它会收到警告,因为矢量非常长

回答 1 投票 0

如何添加动画矢量Drawable动画?

我正在尝试将矢量路径动画设置为 Android 应用程序中的不同路径进行测试,但它无法正常工作。屏幕上不显示动画,也不显示任何动画。 我的车...

回答 3 投票 0

如何让EditText和Button有这个彩色边框?

如何让EditText带有这个边框,Button也带有这个边框。我找不到用可绘制的方法来做到这一点。我使用 ImageView 来实现这个。但我不能将 ImageView 用于 EditText。怎么才能做到这一点?

回答 1 投票 0

以编程方式更改android中矢量的填充颜色

我想以编程方式编辑Android中矢量文件的填充颜色。 在 xml 文件中,我可以使用属性设置颜色 android:fillColor 但我想在运行时更改颜色。 ...

回答 8 投票 0

Android 上 ImageView 中的矢量可绘制缩放

我得到了一种存储为矢量可绘制数据的示意图,从 SVG 格式的原始图像获得。我需要放大和缩小它,但是在更改scaleX和scaleY之后

回答 1 投票 0

Android Studio Vector Asset:解析 ****.svg 时出错 - 不是正确的 SVG 文件

当我尝试通过 Android Studio 导入 SVG 时,出现以下错误: 解析 image.svg 时出错 - 不是正确的 SVG 文件 我在哪里可以找到有关实际问题所在的更多信息?我已经...

回答 1 投票 0

如何创建圆形确定进度条?

如何创建圆形确定进度条? 像这样: 我想在 Android Studio 中制作一个圆形确定进度条。它看起来像这张照片。这是我的代码 如何创建圆形确定进度条? 像这样: 我想在Android Studio中制作一个圆形确定进度条。它看起来像这张照片。这是我的代码 <?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item> <shape android:shape="ring" android:thicknessRatio="16" android:thickness="5dp" android:useLevel="false"> <solid android:color="#DDD"/> </shape> </item> <item> <rotate android:fromDegrees="270" android:toDegrees="270"> <shape android:shape="ring" android:thicknessRatio="16" android:thickness="5dp" android:useLevel="true"> <solid android:color="#f1908c"/> </shape> </rotate> </item> </layer-list> [圆形确定进度条应如下图所示] [1]: github 上有几个库。 您可以尝试这个、这个或这个。

回答 1 投票 0

如何更改可绘制ImageView的颜色android kotlin

我的可绘制包ic_vector_point_image中有一个矢量图标: 我的 vector 包中有一个 drawable 图标 ic_vector_point_image: <vector xmlns:android="http://schemas.android.com/apk/res/android" android:width="10dp" android:height="10dp" android:viewportWidth="3" android:viewportHeight="3"> <path android:pathData="M1.5,1.5m-1.5,0a1.5,1.5 0,1 1,3 0a1.5,1.5 0,1 1,-3 0" android:fillColor="#4C55E4"/> --- blue color </vector> 然后我将这个 vector 图标与我的 ImageView: <ImageView android:id="@+id/point" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginBottom="3.7dp" android:src="@drawable/ic_vector_typing_indicator_point" app:layout_constraintBottom_toBottomOf="@id/typing_text" app:layout_constraintStart_toStartOf="parent" tools:ignore="ContentDescription" /> 我需要为此 argb 设置 drawable 颜色,如下所示: imageView.setColor(Color.argb())。我该怎么做? 您可以像这样更改图像视图的色调: imageView.setColorFilter(Color.argb(255, 255, 255, 255)); // 白色

回答 1 投票 0

Jetpack Compose:AnimatedImageVector 不是动画

拜托,我需要帮助解决这个问题。我正在尝试通过旋转它来获取可绘制矢量以进行动画处理。可绘制矢量显示但未按预期旋转。提前致谢! 下面...

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.