VectorDrawable 导致 NumberFormatException

2024-04-23

我正在使用 Android Lollipop 的全新且炫酷的矢量绘图。但对于某些 SVG 文件,当使用该可绘制对象时,我总是在运行时遇到 NumberFormatException。

这是我的堆栈跟踪:

android.view.InflateException: Binary XML file line #60: Error inflating class android.widget.ImageButton
    at android.view.LayoutInflater.createView(LayoutInflater.java:633)
    at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:55)
    at android.view.LayoutInflater.onCreateView(LayoutInflater.java:682)
    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:741)
    at android.view.LayoutInflater.rInflate(LayoutInflater.java:806)
    at android.view.LayoutInflater.inflate(LayoutInflater.java:504)
    at android.view.LayoutInflater.inflate(LayoutInflater.java:414)
    at censored
    at android.support.v4.app.Fragment.performCreateView(Fragment.java:1786)
    at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:947)
    at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1126)
    at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:739)
    at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1489)
    at android.support.v4.app.FragmentManagerImpl.executePendingTransactions(FragmentManager.java:486)
    at android.support.v4.app.FragmentStatePagerAdapter.finishUpdate(FragmentStatePagerAdapter.java:163)
    at android.support.v4.view.ViewPager.populate(ViewPager.java:1073)
    at android.support.v4.view.ViewPager.populate(ViewPager.java:919)
    at android.support.v4.view.ViewPager.onMeasure(ViewPager.java:1441)
    at android.view.View.measure(View.java:17430)
    at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5463)
    at android.widget.FrameLayout.onMeasure(FrameLayout.java:430)
    at android.view.View.measure(View.java:17430)
    at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5463)
    at android.support.v7.internal.widget.ActionBarOverlayLayout.onMeasure(ActionBarOverlayLayout.java:453)
    at android.view.View.measure(View.java:17430)
    at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5463)
    at android.widget.FrameLayout.onMeasure(FrameLayout.java:430)
    at android.view.View.measure(View.java:17430)
    at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5463)
    at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1436)
    at android.widget.LinearLayout.measureVertical(LinearLayout.java:722)
    at android.widget.LinearLayout.onMeasure(LinearLayout.java:613)
    at android.view.View.measure(View.java:17430)
    at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5463)
    at android.widget.FrameLayout.onMeasure(FrameLayout.java:430)
    at com.android.internal.policy.impl.PhoneWindow$DecorView.onMeasure(PhoneWindow.java:2560)
    at android.view.View.measure(View.java:17430)
    at android.view.ViewRootImpl.performMeasure(ViewRootImpl.java:2001)
    at android.view.ViewRootImpl.measureHierarchy(ViewRootImpl.java:1166)
    at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1372)
    at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1054)
    at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:5779)
    at android.view.Choreographer$CallbackRecord.run(Choreographer.java:767)
    at android.view.Choreographer.doCallbacks(Choreographer.java:580)
    at android.view.Choreographer.doFrame(Choreographer.java:550)
    at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:753)
    at android.os.Handler.handleCallback(Handler.java:739)
    at android.os.Handler.dispatchMessage(Handler.java:95)
    at android.os.Looper.loop(Looper.java:135)
    at android.app.ActivityThread.main(ActivityThread.java:5221)
    at java.lang.reflect.Method.invoke(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:372)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)
Caused by: java.lang.reflect.InvocationTargetException
    at java.lang.reflect.Constructor.newInstance(Native Method)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:288)
    at android.view.LayoutInflater.createView(LayoutInflater.java:607)
    ... 53 more
Caused by: android.content.res.Resources$NotFoundException: File res/drawable-v21/example.xml from drawable resource ID #0x7f02008f
    at android.content.res.Resources.loadDrawableForCookie(Resources.java:2428)
    at android.content.res.Resources.loadDrawable(Resources.java:2330)
    at android.content.res.TypedArray.getDrawable(TypedArray.java:749)
    at android.widget.ImageView.<init>(ImageView.java:146)
    at android.widget.ImageButton.<init>(ImageButton.java:86)
    at android.widget.ImageButton.<init>(ImageButton.java:82)
    at android.widget.ImageButton.<init>(ImageButton.java:78)
    ... 56 more
Caused by: java.lang.NumberFormatException: Invalid float: ".4.6"
    at java.lang.StringToReal.invalidReal(StringToReal.java:63)
    at java.lang.StringToReal.initialParse(StringToReal.java:160)
    at java.lang.StringToReal.parseFloat(StringToReal.java:323)
    at java.lang.Float.parseFloat(Float.java:306)
    at android.util.PathParser.getFloats(PathParser.java:178)
    at android.util.PathParser.createNodesFromPathData(PathParser.java:59)
    at android.graphics.drawable.VectorDrawable$VFullPath.updateStateFromTypedArray(VectorDrawable.java:1439)
    at android.graphics.drawable.VectorDrawable$VFullPath.inflate(VectorDrawable.java:1421)
    at android.graphics.drawable.VectorDrawable.inflateInternal(VectorDrawable.java:542)
    at android.graphics.drawable.VectorDrawable.inflate(VectorDrawable.java:458)
    at android.graphics.drawable.Drawable.createFromXmlInner(Drawable.java:1095)
    at android.graphics.drawable.Drawable.createFromXml(Drawable.java:1017)
    at android.content.res.Resources.loadDrawableForCookie(Resources.java:2418)
    ... 62 more
java.lang.reflect.InvocationTargetException
    at java.lang.reflect.Constructor.newInstance(Native Method)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:288)
    at android.view.LayoutInflater.createView(LayoutInflater.java:607)
    at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:55)
    at android.view.LayoutInflater.onCreateView(LayoutInflater.java:682)
    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:741)
    at android.view.LayoutInflater.rInflate(LayoutInflater.java:806)
    at android.view.LayoutInflater.inflate(LayoutInflater.java:504)
    at android.view.LayoutInflater.inflate(LayoutInflater.java:414)
    at censored
    at android.support.v4.app.Fragment.performCreateView(Fragment.java:1786)
    at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:947)
    at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1126)
    at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:739)
    at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1489)
    at android.support.v4.app.FragmentManagerImpl.executePendingTransactions(FragmentManager.java:486)
    at android.support.v4.app.FragmentStatePagerAdapter.finishUpdate(FragmentStatePagerAdapter.java:163)
    at android.support.v4.view.ViewPager.populate(ViewPager.java:1073)
    at android.support.v4.view.ViewPager.populate(ViewPager.java:919)
    at android.support.v4.view.ViewPager.onMeasure(ViewPager.java:1441)
    at android.view.View.measure(View.java:17430)
    at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5463)
    at android.widget.FrameLayout.onMeasure(FrameLayout.java:430)
    at android.view.View.measure(View.java:17430)
    at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5463)
    at android.support.v7.internal.widget.ActionBarOverlayLayout.onMeasure(ActionBarOverlayLayout.java:453)
    at android.view.View.measure(View.java:17430)
    at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5463)
    at android.widget.FrameLayout.onMeasure(FrameLayout.java:430)
    at android.view.View.measure(View.java:17430)
    at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5463)
    at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1436)
    at android.widget.LinearLayout.measureVertical(LinearLayout.java:722)
    at android.widget.LinearLayout.onMeasure(LinearLayout.java:613)
    at android.view.View.measure(View.java:17430)
    at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5463)
    at android.widget.FrameLayout.onMeasure(FrameLayout.java:430)
    at com.android.internal.policy.impl.PhoneWindow$DecorView.onMeasure(PhoneWindow.java:2560)
    at android.view.View.measure(View.java:17430)
    at android.view.ViewRootImpl.performMeasure(ViewRootImpl.java:2001)
    at android.view.ViewRootImpl.measureHierarchy(ViewRootImpl.java:1166)
    at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1372)
    at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1054)
    at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:5779)
    at android.view.Choreographer$CallbackRecord.run(Choreographer.java:767)
    at android.view.Choreographer.doCallbacks(Choreographer.java:580)
    at android.view.Choreographer.doFrame(Choreographer.java:550)
    at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:753)
    at android.os.Handler.handleCallback(Handler.java:739)
    at android.os.Handler.dispatchMessage(Handler.java:95)
    at android.os.Looper.loop(Looper.java:135)
    at android.app.ActivityThread.main(ActivityThread.java:5221)
    at java.lang.reflect.Method.invoke(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:372)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)
Caused by: android.content.res.Resources$NotFoundException: File res/drawable-v21/example.xml from drawable resource ID #0x7f02008f
    at android.content.res.Resources.loadDrawableForCookie(Resources.java:2428)
    at android.content.res.Resources.loadDrawable(Resources.java:2330)
    at android.content.res.TypedArray.getDrawable(TypedArray.java:749)
    at android.widget.ImageView.<init>(ImageView.java:146)
    at android.widget.ImageButton.<init>(ImageButton.java:86)
    at android.widget.ImageButton.<init>(ImageButton.java:82)
    at android.widget.ImageButton.<init>(ImageButton.java:78)
    ... 56 more
Caused by: java.lang.NumberFormatException: Invalid float: ".4.6"
    at java.lang.StringToReal.invalidReal(StringToReal.java:63)
    at java.lang.StringToReal.initialParse(StringToReal.java:160)
    at java.lang.StringToReal.parseFloat(StringToReal.java:323)
    at java.lang.Float.parseFloat(Float.java:306)
    at android.util.PathParser.getFloats(PathParser.java:178)
    at android.util.PathParser.createNodesFromPathData(PathParser.java:59)
    at android.graphics.drawable.VectorDrawable$VFullPath.updateStateFromTypedArray(VectorDrawable.java:1439)
    at android.graphics.drawable.VectorDrawable$VFullPath.inflate(VectorDrawable.java:1421)
    at android.graphics.drawable.VectorDrawable.inflateInternal(VectorDrawable.java:542)
    at android.graphics.drawable.VectorDrawable.inflate(VectorDrawable.java:458)
    at android.graphics.drawable.Drawable.createFromXmlInner(Drawable.java:1095)
    at android.graphics.drawable.Drawable.createFromXml(Drawable.java:1017)
    at android.content.res.Resources.loadDrawableForCookie(Resources.java:2418)
    ... 62 more
android.content.res.Resources$NotFoundException: File res/drawable-v21/example.xml from drawable resource ID #0x7f02008f
    at android.content.res.Resources.loadDrawableForCookie(Resources.java:2428)
    at android.content.res.Resources.loadDrawable(Resources.java:2330)
    at android.content.res.TypedArray.getDrawable(TypedArray.java:749)
    at android.widget.ImageView.<init>(ImageView.java:146)
    at android.widget.ImageButton.<init>(ImageButton.java:86)
    at android.widget.ImageButton.<init>(ImageButton.java:82)
    at android.widget.ImageButton.<init>(ImageButton.java:78)
    at java.lang.reflect.Constructor.newInstance(Native Method)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:288)
    at android.view.LayoutInflater.createView(LayoutInflater.java:607)
    at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:55)
    at android.view.LayoutInflater.onCreateView(LayoutInflater.java:682)
    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:741)
    at android.view.LayoutInflater.rInflate(LayoutInflater.java:806)
    at android.view.LayoutInflater.inflate(LayoutInflater.java:504)
    at android.view.LayoutInflater.inflate(LayoutInflater.java:414)
    at censored
    at android.support.v4.app.Fragment.performCreateView(Fragment.java:1786)
    at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:947)
    at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1126)
    at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:739)
    at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1489)
    at android.support.v4.app.FragmentManagerImpl.executePendingTransactions(FragmentManager.java:486)
    at android.support.v4.app.FragmentStatePagerAdapter.finishUpdate(FragmentStatePagerAdapter.java:163)
    at android.support.v4.view.ViewPager.populate(ViewPager.java:1073)
    at android.support.v4.view.ViewPager.populate(ViewPager.java:919)
    at android.support.v4.view.ViewPager.onMeasure(ViewPager.java:1441)
    at android.view.View.measure(View.java:17430)
    at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5463)
    at android.widget.FrameLayout.onMeasure(FrameLayout.java:430)
    at android.view.View.measure(View.java:17430)
    at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5463)
    at android.support.v7.internal.widget.ActionBarOverlayLayout.onMeasure(ActionBarOverlayLayout.java:453)
    at android.view.View.measure(View.java:17430)
    at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5463)
    at android.widget.FrameLayout.onMeasure(FrameLayout.java:430)
    at android.view.View.measure(View.java:17430)
    at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5463)
    at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1436)
    at android.widget.LinearLayout.measureVertical(LinearLayout.java:722)
    at android.widget.LinearLayout.onMeasure(LinearLayout.java:613)
    at android.view.View.measure(View.java:17430)
    at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5463)
    at android.widget.FrameLayout.onMeasure(FrameLayout.java:430)
    at com.android.internal.policy.impl.PhoneWindow$DecorView.onMeasure(PhoneWindow.java:2560)
    at android.view.View.measure(View.java:17430)
    at android.view.ViewRootImpl.performMeasure(ViewRootImpl.java:2001)
    at android.view.ViewRootImpl.measureHierarchy(ViewRootImpl.java:1166)
    at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1372)
    at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1054)
    at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:5779)
    at android.view.Choreographer$CallbackRecord.run(Choreographer.java:767)
    at android.view.Choreographer.doCallbacks(Choreographer.java:580)
    at android.view.Choreographer.doFrame(Choreographer.java:550)
    at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:753)
    at android.os.Handler.handleCallback(Handler.java:739)
    at android.os.Handler.dispatchMessage(Handler.java:95)
    at android.os.Looper.loop(Looper.java:135)
    at android.app.ActivityThread.main(ActivityThread.java:5221)
    at java.lang.reflect.Method.invoke(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:372)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)
Caused by: java.lang.NumberFormatException: Invalid float: ".4.6"
    at java.lang.StringToReal.invalidReal(StringToReal.java:63)
    at java.lang.StringToReal.initialParse(StringToReal.java:160)
    at java.lang.StringToReal.parseFloat(StringToReal.java:323)
    at java.lang.Float.parseFloat(Float.java:306)
    at android.util.PathParser.getFloats(PathParser.java:178)
    at android.util.PathParser.createNodesFromPathData(PathParser.java:59)
    at android.graphics.drawable.VectorDrawable$VFullPath.updateStateFromTypedArray(VectorDrawable.java:1439)
    at android.graphics.drawable.VectorDrawable$VFullPath.inflate(VectorDrawable.java:1421)
    at android.graphics.drawable.VectorDrawable.inflateInternal(VectorDrawable.java:542)
    at android.graphics.drawable.VectorDrawable.inflate(VectorDrawable.java:458)
    at android.graphics.drawable.Drawable.createFromXmlInner(Drawable.java:1095)
    at android.graphics.drawable.Drawable.createFromXml(Drawable.java:1017)
    at android.content.res.Resources.loadDrawableForCookie(Resources.java:2418)
    ... 62 more
java.lang.NumberFormatException: Invalid float: ".4.6"
    at java.lang.StringToReal.invalidReal(StringToReal.java:63)
    at java.lang.StringToReal.initialParse(StringToReal.java:160)
    at java.lang.StringToReal.parseFloat(StringToReal.java:323)
    at java.lang.Float.parseFloat(Float.java:306)
    at android.util.PathParser.getFloats(PathParser.java:178)
    at android.util.PathParser.createNodesFromPathData(PathParser.java:59)
    at android.graphics.drawable.VectorDrawable$VFullPath.updateStateFromTypedArray(VectorDrawable.java:1439)
    at android.graphics.drawable.VectorDrawable$VFullPath.inflate(VectorDrawable.java:1421)
    at android.graphics.drawable.VectorDrawable.inflateInternal(VectorDrawable.java:542)
    at android.graphics.drawable.VectorDrawable.inflate(VectorDrawable.java:458)
    at android.graphics.drawable.Drawable.createFromXmlInner(Drawable.java:1095)
    at android.graphics.drawable.Drawable.createFromXml(Drawable.java:1017)
    at android.content.res.Resources.loadDrawableForCookie(Resources.java:2418)
    at android.content.res.Resources.loadDrawable(Resources.java:2330)
    at android.content.res.TypedArray.getDrawable(TypedArray.java:749)
    at android.widget.ImageView.<init>(ImageView.java:146)
    at android.widget.ImageButton.<init>(ImageButton.java:86)
    at android.widget.ImageButton.<init>(ImageButton.java:82)
    at android.widget.ImageButton.<init>(ImageButton.java:78)
    at java.lang.reflect.Constructor.newInstance(Native Method)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:288)
    at android.view.LayoutInflater.createView(LayoutInflater.java:607)
    at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:55)
    at android.view.LayoutInflater.onCreateView(LayoutInflater.java:682)
    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:741)
    at android.view.LayoutInflater.rInflate(LayoutInflater.java:806)
    at android.view.LayoutInflater.inflate(LayoutInflater.java:504)
    at android.view.LayoutInflater.inflate(LayoutInflater.java:414)
    at censored
    at android.support.v4.app.Fragment.performCreateView(Fragment.java:1786)
    at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:947)
    at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1126)
    at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:739)
    at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1489)
    at android.support.v4.app.FragmentManagerImpl.executePendingTransactions(FragmentManager.java:486)
    at android.support.v4.app.FragmentStatePagerAdapter.finishUpdate(FragmentStatePagerAdapter.java:163)
    at android.support.v4.view.ViewPager.populate(ViewPager.java:1073)
    at android.support.v4.view.ViewPager.populate(ViewPager.java:919)
    at android.support.v4.view.ViewPager.onMeasure(ViewPager.java:1441)
    at android.view.View.measure(View.java:17430)
    at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5463)
    at android.widget.FrameLayout.onMeasure(FrameLayout.java:430)
    at android.view.View.measure(View.java:17430)
    at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5463)
    at android.support.v7.internal.widget.ActionBarOverlayLayout.onMeasure(ActionBarOverlayLayout.java:453)
    at android.view.View.measure(View.java:17430)
    at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5463)
    at android.widget.FrameLayout.onMeasure(FrameLayout.java:430)
    at android.view.View.measure(View.java:17430)
    at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5463)
    at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1436)
    at android.widget.LinearLayout.measureVertical(LinearLayout.java:722)
    at android.widget.LinearLayout.onMeasure(LinearLayout.java:613)
    at android.view.View.measure(View.java:17430)
    at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5463)
    at android.widget.FrameLayout.onMeasure(FrameLayout.java:430)
    at com.android.internal.policy.impl.PhoneWindow$DecorView.onMeasure(PhoneWindow.java:2560)
    at android.view.View.measure(View.java:17430)
    at android.view.ViewRootImpl.performMeasure(ViewRootImpl.java:2001)
    at android.view.ViewRootImpl.measureHierarchy(ViewRootImpl.java:1166)
    at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1372)
    at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1054)
    at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:5779)
    at android.view.Choreographer$CallbackRecord.run(Choreographer.java:767)
    at android.view.Choreographer.doCallbacks(Choreographer.java:580)
    at android.view.Choreographer.doFrame(Choreographer.java:550)
    at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:753)
    at android.os.Handler.handleCallback(Handler.java:739)
    at android.os.Handler.dispatchMessage(Handler.java:95)
    at android.os.Looper.loop(Looper.java:135)
    at android.app.ActivityThread.main(ActivityThread.java:5221)
    at java.lang.reflect.Method.invoke(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:372)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)

我不太清楚其原因,但我知道的是: svg 标准允许省略前导零以进行优化。这是根本原因,因为似乎也可以随意连接它们,0.1 0.2 0.3 可以写成 .1.2.3 Android 的解析器不处理这个。我知道的所有 SVG 显示工具都没有问题。所以你只需要在路径中添加一些空格即可。我编写了这个正则表达式,您可能需要运行多次,直到不再有命中为止。

只需在 Android Studio 中替换(即 Regex 复选框):

(\.\d+)(\.\d)

by

$1 $2

那会解决你的问题。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

VectorDrawable 导致 NumberFormatException 的相关文章

  • 查看寻呼机 - 使用静态变量以编程方式滑动到下一页

    我想在我的 ViewPager 中以编程方式制作幻灯片 我的问题是 滑动事件是由放置在 ViewPager 保存的片段内部的按钮调用的 我知道代码 viewpager setCurrentItem int index 现在我的想法是使 Vi
  • 为什么 cordova.file.documentsDirectory 为空?

    我正在尝试使用 cordova plugin file transfer 在http ngcordova com docs plugins fileTransfer http ngcordova com docs plugins fileT
  • 不同 Android 设备上 box2D 中出现奇怪的“口吃”

    我正在用 C 同时开发引擎和游戏 并使用 box2D 作为物理后端 我正在不同的 Android 设备上进行测试 在三分之二的设备上 游戏运行良好 物理效果也很好 然而 在我的 Galaxy Tab 10 1 上 我偶尔会遇到某种 口吃 的
  • 使用 GoogleServices 插件时忽略 Gradle ArchivesBaseName

    我经常使用 archivesbasename 来重命名我的输出 apk 但自从使用 google services 插件后 它就被忽略了 我能做些什么来让它再次工作吗 下面附上了我完整的 build gradle 感谢您的指点 apply
  • Android Manifest 自动生成无效权限

    我不小心在 Android 清单中输入了无效的权限名称 并且无法将其删除 这是我的清单代码
  • 在代码中旋转按钮(或其中的文本)

    我必须通过编码随机旋转按钮 或里面的文本 它是相同的 API级别低于11是否有button setRotate x 好吧 看了一下 答案是 很复杂 您可以使用旧的动画框架旋转按钮 例如像这样 Button button Button fin
  • 导航组件参数默认值

    在导航组件中 将参数从第一个片段发送到第二个片段时 默认值不会从导航图中获取哪个集合 这是我的代码 导航图 xml
  • 有没有办法将搜索栏添加到我的实际首选项屏幕?

    我一直看到有关添加您自己的搜索栏首选项的教程 但它不在我实际的 prefs xml 中 有什么方法可以在我的主偏好设置屏幕中添加一个 或者我必须将其分开 Google 似乎有 2 个滑块首选项 搜索栏首选项 https github com
  • ListView:防止视图回收

    我有一个使用回收视图的 ListView 我试图阻止视图被回收 所以我使用 setHasTransientState android support v4 view ViewCompatJB setHasTransientState Vie
  • Android 谷歌地图 V2 已停止

    我正在尝试构建地图应用程序并关注这个链接 https blog emildesign rhcloud com p 435一步步 我在这里找到了类似的主题 但对我没有帮助 我想显示地图 但是当我运行它时 它返回强制关闭和我的 Android
  • 在后台服务中持续获取位置更新

    我正在开发需要在后台服务中持续获取位置更新的应用程序 我已经使用了它正在使用的后台粘性服务 但是 即使我添加了启动广播并在那里启动了服务 启动完成后服务也没有启动 服务启动并立即被杀死 另外 这不适用于奥利奥 服务在应用程序关闭几分钟后停止
  • 在 Android 中始终以横向模式打开相机

    在我的 Android 应用程序中 单击按钮后我希望相机以横向模式打开 即使我将手机旋转为纵向模式 相机也应始终处于横向模式或纵向模式 使用此代码在横向模式下打开相机 Intent cameraIntent new Intent Media
  • 无法在云控制台中启用 Maps SDK for Android

    我在云控制台中启用适用于 Android 的 Maps SDK 时遇到此问题 https console cloud google com https console cloud google com 它会抛出以下错误 附截图 我收到错误消
  • 如何在android中画一条曲线?

    我是 Android 新手 正在开发一个关于绘制线条的示例项目 我想画一条连接两点的曲线或高架线 x1 y1 and x2 y2 我试过canvas drawArc 方法 但是RectF内的值drawArc方法只是圆的 x y 中心点 它在
  • Android httpclient文件上传数据损坏和超时问题

    我在 Android 中上传图像时遇到问题 我正在使用 apache httpmime 4 1 lib 代码是这样的 MultipartEntity reqEntity new MultipartEntity HttpMultipartMo
  • Spotify 登录错误 INVALID_CLIENT:无效的重定向 URI android

    我正在制作一个包含 Spotify 集成的应用程序 我点击了此链接https developer spotify com technologies spotify android sdk tutorial https developer s
  • 在 android 中,第一次单击时按钮侦听器未注册

    因为我是 Android 新手 所以我遇到了按钮监听器的问题 我正在使用 OnClickListener 来处理胸像 但它第一次点击后不执行一旦我单击多个 它就会表现良好 但如何使其在第一次单击时成为可能 这是我的代码 public cla
  • 无法登录 Google Play 游戏服务

    我在开发者控制台上使用包名称和正确的签名证书设置了我的游戏 并为其创建了排行榜 但没有创建任何成就 然后 我从以下位置下载了示例 Type A Number Challenge 和 BaseGameUtils https developer
  • Android Jasper 报告

    Jasper Reporting 可以集成到 Android 应用程序中吗 我正在尝试从 jrxml 文件生成 PDF CSV 文本和 XLS 报告 但是 我没有看到 Android SDK 支持 net sf jasperreports
  • Android Espresso - 如果未选中,请单击复选框

    I have onView withId R id check box perform click 但我只想在尚未选中该复选框时执行此操作 我怎样才能在浓缩咖啡中做到这一点 我还想根据其之前的状态来切换复选框 开关 起初 我尝试用此方法打开

随机推荐

  • C++ 将三个 char* 字符串连接在一起[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 询问代码的问题必须对所解决的问题表现出最低限度的了解 包括尝试的解决方案 为什么不起作用以及预期结果 也可以看看 Stack Overfl
  • 从表单提交获取 JSON 响应

    我不是前端开发人员 并且我花了相当多的时间尝试这样做 希望你们能帮助我 我有一个将文件发送到服务器中的 API 的表单 如下所示
  • 将 R data.frame 转换为 Javascript 数组

    我想将数据框的某些列保存为特定格式 JavaScript 格式 我尝试过使用toJSON from rjson包但这不起作用 我的结果应该是这样的 http leaflet github io Leaflet markercluster e
  • 如何折叠ListView中的所有Group Expander?

    我有一个ListView with a GroupStyle在上面 在风格上我有一个Expander 我想用一个ContextMenu in the ListView一键折叠和展开所有组 我想通过单击扩展器来展开每个组 我怎样才能获得组 然
  • 无法安装 matplotlib

    当我在 64 位 Windows 中安装 matplotlib 时 它需要 numpy 然后我安装了 numpy 并再次安装了 matplotlib 然后它说 numpy 1 7 1 freetype2 found but unknown
  • Perforce:如何删除 p4v 拒绝删除的变更列表?

    使用 perforce 一段时间后 我留下了许多尚未完成的变更列表 为了清理 我想摆脱其中的一部分 所以这就是让事情变得复杂的原因 对于更改的子集 客户端的主机已更改 某些更改包含搁置的文件 更改列表中的文件可能会被删除或移动 当更改列表满
  • iOS——codeSense 中自动合成属性的“添加”方法

    我刚刚创建了一个具有以下属性的 iOS 类 property nonatomic strong NSString foo property nonatomic strong NSObject bar property nonatomic C
  • 如何忽略多容器 Pod 中容器的故障?

    我有一个多容器应用程序 app sidecar 两个容器都应该一直处于活动状态 但 sidecar 并不是那么重要 Sidecar 依赖于外部资源 如果该资源不可用 Sidecar 就会崩溃 它会导致整个吊舱瘫痪 Kubernetes 尝试
  • VirtualBox 是否可以使用 python3 绑定?

    我正在尝试使用 VirtualBox 的 python 3 绑定 但似乎存在损坏的依赖关系 我觉得很奇怪的是 在人们遇到这个问题的四年里 这个问题还没有得到解决 也许我错过了一些明显的东西 众所周知它会发生 我已经通过操作系统包管理器安装了
  • javax.mail.MessagingException:无法连接到 SMTP 主机:<主机名> 端口:25 响应:554

    我正在尝试使用 java mail api 发送邮件 我的 smtp 服务器是 ibm 服务器 我面临这个异常 javax mail MessagingException Could not connect to SMTP host
  • 如何让 Cargo 显示哪些文件导致重建?

    我在用cargo maturin and pytest构建混合 Python Rust 项目 在开发过程中 我经常循环使用命令 cargo test p mypkg release maturin develop release pytho
  • 如何从 fresco(facebook 的 android lib)中排除 arm64-v8a 目录

    正如你所看到的 Fresco有arm64 v8a目录 但我不想要它 我应该在build gradle中写什么 compile com facebook fresco fresco 0 5 3 exclude group com androi
  • Android 开源人脸识别 [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 使用Android 人脸识别有哪些开源选项 以下是我在人脸识别库上找到的一些链接 Android s F
  • 我可以通过委托给 EF 中的存储过程来延迟加载导航属性吗?

    我有以下客户类别 public class Customer public long Id get set public virtual ICollection
  • Nginx 对 cms 后端的重写规则

    我需要在 nginx 服务器中制定 url 重写规则 服务器块 就像我之前的 apache 服务器一样 这是 htaccess 中的代码 我需要将其实现 转换 到我现有的代码中 RewriteRule A Za z0 9 A Za z0 9
  • 如何通过 sql plus 从命令行发出单个命令?

    使用 SQL Plus 您可以运行script从命令行使用 运算符 如下所示 c gt sqlplus username password databasename c my script sql 但是是否可以只运行一个单一命令使用类似的语
  • 从色调 0 到 360 的 SVG 线性渐变

    source elv1s ru http elv1s ru files svg gradient hue png 做这样的渐变的正确方法是什么 我试过this SVG http elv1s ru files svg gradient hue
  • 如何使用表达式树安全访问可为空对象的路径?

    当我将反序列化的 XML 结果放入 xsd 生成的对象树中 并希望使用该树 a b c d e f 内的某些深层对象时 如果该查询路径上的任何节点丢失 它将给出异常 if a b c d e f null Console Write ok
  • 使用 inno setup 安装时检查可用端口

    我正在尝试在 inno setup 中创建以下功能 用户被要求输入他们希望我的应用程序进行通信的端口 一旦他们进入端口 他们就可以点击检查按钮 此检查按钮将运行一些代码来查看安装计算机上的端口是否可用 到目前为止 我可以为用户创建输入框来输
  • VectorDrawable 导致 NumberFormatException

    我正在使用 Android Lollipop 的全新且炫酷的矢量绘图 但对于某些 SVG 文件 当使用该可绘制对象时 我总是在运行时遇到 NumberFormatException 这是我的堆栈跟踪 android view Inflate